1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-16 23:02:26 +03:00

Experimental code to measure memory consumed by database schemas and prepared statements.

FossilOrigin-Name: 9aa30342f4de4eff630520ea8e07ad253d3f0877
This commit is contained in:
dan
2010-07-24 11:28:28 +00:00
parent 5419ee5f2f
commit d46def77db
14 changed files with 430 additions and 97 deletions

View File

@@ -455,7 +455,13 @@ void sqlite3_free(void *p){
*/
void sqlite3DbFree(sqlite3 *db, void *p){
assert( db==0 || sqlite3_mutex_held(db->mutex) );
if( isLookaside(db, p) ){
if( db && db->pnBytesFreed ){
if( isLookaside(db, p) ){
*db->pnBytesFreed += db->lookaside.sz;
}else{
*db->pnBytesFreed += sqlite3MallocSize(p);
}
}else if( isLookaside(db, p) ){
LookasideSlot *pBuf = (LookasideSlot*)p;
pBuf->pNext = db->lookaside.pFree;
db->lookaside.pFree = pBuf;