加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite3 Virtual DataBase Engine

发布时间:2020-12-12 19:45:21 所属栏目:百科 来源:网络整理
导读:An instance of the virtual machine. This structure contains the completestate of the virtual machine. structVdbe{sqlite3*db;/*Thedatabaseconnectionthatownsthisstatement*/Op*aOp;/*Spacetoholdthevirtualmachine'sprogram*/Mem*aMem;/*Thememoryl

An instance of the virtual machine.

This structure contains the completestate of the virtual machine.


structVdbe{
sqlite3*db;/*Thedatabaseconnectionthatownsthisstatement*/
Op*aOp;/*Spacetoholdthevirtualmachine'sprogram*/
Mem*aMem;/*Thememorylocations*/
Mem**apArg;/*Argumentstocurrentlyexecutinguserfunction*/
Mem*aColName;/*Columnnamestoreturn*/
Mem*pResultSet;/*Pointertoanarrayofresults*/
Parse*pParse;/*ParsingcontextusedtocreatethisVdbe*/
intnMem;/*Numberofmemorylocationscurrentlyallocated*/
intnOp;/*Numberofinstructionsintheprogram*/
intnCursor;/*NumberofslotsinapCsr[]*/
u32magic;/*Magicnumberforsanitychecking*/
char*zErrMsg;/*Errormessagewrittenhere*/
Vdbe*pPrev,*pNext;/*LinkedlistofVDBEswiththesameVdbe.db*/
VdbeCursor**apCsr;/*Oneelementofthisarrayforeachopencursor*/
Mem*aVar;/*ValuesfortheOP_Variableopcode.*/
char**azVar;/*Nameofvariables*/
ynVarnVar;/*NumberofentriesinaVar[]*/
ynVarnzVar;/*NumberofentriesinazVar[]*/
u32cacheCtr;/*VdbeCursorrowcachegenerationcounter*/
intpc;/*Theprogramcounter*/
intrc;/*Valuetoreturn*/

#ifdefSQLITE_DEBUG
intrcApp;/*errcodesetbysqlite3_result_error_code()*/
#endif

u16nResColumn;/*Numberofcolumnsinonerowoftheresultset*/
u8errorAction;/*RecoveryactiontodoincaSEOfanerror*/
u8minWriteFileFormat;/*Minimumfileformatforwritabledatabasefiles*/
bftexplain:2;/*TrueifEXPLAINpresentonSQLcommand*/
bftchangeCntOn:1;/*Truetoupdatethechange-counter*/
bftexpired:1;/*TrueiftheVMneedstoberecompiled*/
bftrunOnlyOnce:1;/*Automaticallyexpireonreset*/
bftusesStmtJournal:1;/*Trueifusesastatementjournal*/
bftreadOnly:1;/*Trueforstatementsthatdonotwrite*/
bftbIsReader:1;/*Trueforstatementsthatread*/
bftisPrepareV2:1;/*Trueifpreparedwithprepare_v2()*/
bftdoingRerun:1;/*Trueifrerunningafteranauto-reprepare*/
intnChange;/*Numberofdbchangesmadesincelastreset*/
yDbMaskbtreeMask;/*Bitmaskofdb->aDb[]entriesreferenced*/
yDbMasklockMask;/*SubsetofbtreeMaskthatrequiresalock*/
intiStatement;/*Statementnumber(or0ifhasnotopenedstmt)*/
u32aCounter[5];/*Countersusedbysqlite3_stmt_status()*/

#ifndefSQLITE_OMIT_TRACE
i64startTime;/*Timewhenquerystarted-usedforprofiling*/
#endif

i64iCurrentTime;/*Valueofjulianday('now')forthisstatement*/
i64nFkConstraint;/*Numberofimm.FKconstraintsthisVM*/
i64nStmtDefCons;/*Numberofdef.constraintswhenstmtstarted*/
i64nStmtDefImmCons;/*Numberofdef.immconstraintswhenstmtstarted*/
char*zSql;/*TextoftheSQLstatementthatgeneratedthis*/
void*pFree;/*Freethiswhendeletingthevdbe*/
VdbeFrame*pFrame;/*Parentframe*/
VdbeFrame*pDelFrame;/*ListofframeobjectstofreeonVMreset*/
intnFrame;/*NumberofframesinpFramelist*/
u32expmask;/*BindingtothesevarsinvalidatesVM*/
SubProgram*pProgram;/*Linkedlistofallsub-programsusedbyVM*/
intnOnceFlag;/*SizeofarrayaOnceFlag[]*/
u8*aOnceFlag;/*FlagsforOP_Once*/
AuxData*pAuxData;/*Linkedlistofauxdataallocations*/

#ifdefSQLITE_ENABLE_STMT_SCANSTATUS
i64*anExec;/*Numberoftimeseachophasbeenexecuted*/
intnScan;/*EntriesinaScan[]*/
ScanStatus*aScan;/*Scandefinitionsforsqlite3_stmt_scanstatus()*/
#endif
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读