struct sqlite3
struct sqlite3
{
sqlite3_vfs *pVfs;
struct Vdbe *pVdbe;
CollSeq *pDfltColl;
sqlite3_mutex *mutex;
Db *aDb;
int nDb;
int flags;
i64 lastRowid;
i64 szMmap;
unsigned int openFlags;
int errCode;
int errMask;
u16 dbOptFlags;
u8 autoCommit;
u8 temp_store;
u8 mallocFailed;
u8 dfltLockMode;
signed char nextAutovac;
u8 suppressErr;
u8 vtabOnConflict;
u8 isTransactionSavepoint;
int nextPagesize;
u32 magic;
int nChange;
int nTotalChange;
int aLimit[SQLITE_N_LIMIT];
struct sqlite3InitInfo {
int newTnum;
u8 iDb;
u8 busy;
u8 orphanTrigger;
} init;
int nVdbeActive;
int nVdbeRead;
int nVdbeWrite;
int nVdbeExec;
int nExtension;
void **aExtension;
void (*xTrace)(void*,const char*);
void *pTraceArg;
void (*xProfile)(void*,const char*,u64);
void *pProfileArg;
void *pCommitArg;
int (*xCommitCallback)(void*);
void *pRollbackArg;
void (*xRollbackCallback)(void*);
void *pUpdateArg;
void (*xUpdateCallback)(void*,int, const char*,const char*,sqlite_int64);
#ifndef SQLITE_OMIT_WAL
int (*xWalCallback)(void *, sqlite3 *, const char *, int);
void *pWalArg;
#endif
void(*xCollNeeded)(void*,sqlite3*,int eTextRep,const char*);
void(*xCollNeeded16)(void*,sqlite3*,int eTextRep,const void*);
void *pCollNeededArg;
sqlite3_value *pErr;
union {
volatile int isInterrupted;
double notUsed1;
} u1;
Lookaside lookaside;
#ifndef SQLITE_OMIT_AUTHORIZATION
int (*xAuth)(void*,int,const char*,const char*,const char*,const char*);
void *pAuthArg;
#endif
#ifndef SQLITE_OMIT_PROGRESS_CALLBACK
int (*xProgress)(void *);
void *pProgressArg;
unsigned nProgressOps;
#endif
#ifndef SQLITE_OMIT_VIRTUALTABLE
int nVTrans;
Hash aModule;
VtabCtx *pVtabCtx;
VTable **aVTrans;
VTable *pDisconnect;
#endif
FuncDefHash aFunc;
Hash aCollSeq;
BusyHandler busyHandler;
Db aDbStatic[2];
Savepoint *pSavepoint;
int busyTimeout;
int nSavepoint;
int nStatement;
i64 nDeferredCons;
i64 nDeferredImmCons;
int *pnBytesFreed;
#ifdef SQLITE_ENABLE_UNLOCK_NOTIFY
sqlite3 *pBlockingConnection;
sqlite3 *pUnlockConnection;
void *pUnlockArg;
void (*xUnlockNotify)(void **, int);
sqlite3 *pNextBlocked;
#endif
};
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341