struct sqlite3

2023-01-31 02:01:20 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
};


相关文章