MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / index_block_flush

Function index_block_flush

src/jrd/idx.cpp:2053–2083  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2051
2052
2053static int index_block_flush(void* ast_object)
2054{
2055/**************************************
2056 *
2057 * i n d e x _ b l o c k _ f l u s h
2058 *
2059 **************************************
2060 *
2061 * Functional description
2062 * An exclusive lock has been requested on the
2063 * index block. The information in the cached
2064 * index block is no longer valid, so clear it
2065 * out and release the lock.
2066 *
2067 **************************************/
2068 IndexBlock* const index_block = static_cast<IndexBlock*>(ast_object);
2069
2070 try
2071 {
2072 Lock* const lock = index_block->idb_lock;
2073 Database* const dbb = lock->lck_dbb;
2074
2075 AsyncContextHolder tdbb(dbb, FB_FUNCTION, lock);
2076
2077 release_index_block(tdbb, index_block);
2078 }
2079 catch (const Firebird::Exception&)
2080 {} // no-op
2081
2082 return 0;
2083}
2084
2085
2086static idx_e insert_key(thread_db* tdbb,

Callers

nothing calls this directly

Calls 1

release_index_blockFunction · 0.85

Tested by

no test coverage detected