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

Method statementGoingInactive

src/dsql/DsqlStatementCache.cpp:184–204  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

182}
183
184void DsqlStatementCache::statementGoingInactive(Firebird::RefStrPtr& key)
185{
186 const auto entryPtr = map.get(key);
187
188 if (!entryPtr)
189 return;
190
191 const auto entry = *entryPtr;
192
193 fb_assert(entry->active);
194 entry->active = false;
195 entry->dsqlStatement->addRef();
196 entry->size = entry->dsqlStatement->getSize(); // update size
197
198 inactiveStatementList.splice(inactiveStatementList.end(), activeStatementList, entry);
199
200 cacheSize += entry->size;
201
202 if (cacheSize > maxCacheSize)
203 shrink();
204}
205
206void DsqlStatementCache::purge(thread_db* tdbb, bool releaseLock)
207{

Callers 1

releaseMethod · 0.80

Calls 5

spliceMethod · 0.80
getMethod · 0.45
addRefMethod · 0.45
getSizeMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected