diff options
author | drh <drh@noemail.net> | 2012-06-02 14:32:21 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2012-06-02 14:32:21 +0000 |
commit | 4245c405ea9ef9115dd2dd6b81afc10a6edf67d1 (patch) | |
tree | b28f55712f79145318fc5aaed0e1a7927865b44f /src/sqliteInt.h | |
parent | ed4668271909964bfa81cc968ccbea5be7f4c15e (diff) | |
download | sqlite-4245c405ea9ef9115dd2dd6b81afc10a6edf67d1.tar.gz sqlite-4245c405ea9ef9115dd2dd6b81afc10a6edf67d1.zip |
The sqlite3_close() interface returns SQLITE_OK even if there are outstanding
sqlite3_stmt and sqlite3_backup objects. The connection becomes a zombie.
Resource deallocation is deferred until the last sqlite3_stmt or
sqlite3_backup object closes. This is intended to help SQLite play nicer
with garbage collectors.
FossilOrigin-Name: e276a02b7f54e804caa553dca99023416a415e1c
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r-- | src/sqliteInt.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h index 85dabb0b3..9732c8f22 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -974,6 +974,7 @@ struct sqlite3 { #define SQLITE_MAGIC_SICK 0x4b771290 /* Error and awaiting close */ #define SQLITE_MAGIC_BUSY 0xf03b7906 /* Database currently in use */ #define SQLITE_MAGIC_ERROR 0xb5357930 /* An SQLITE_MISUSE error occurred */ +#define SQLITE_MAGIC_ZOMBIE 0x64cffc7f /* Close with last statement close */ /* ** Each SQL function is defined by an instance of the following @@ -2833,6 +2834,7 @@ void sqlite3CommitTransaction(Parse*); void sqlite3RollbackTransaction(Parse*); void sqlite3Savepoint(Parse*, int, Token*); void sqlite3CloseSavepoints(sqlite3 *); +void sqlite3LeaveMutexAndCloseZombie(sqlite3*); int sqlite3ExprIsConstant(Expr*); int sqlite3ExprIsConstantNotJoin(Expr*); int sqlite3ExprIsConstantOrFunction(Expr*); |