2021SC@SDUSC
这里写目录标题
VDBE核心
vdbe.c文件中存放着VDBE的执行方法(sqlite3VdbeExec),这是VDBE的核心,也是SQLite的核心,SQL解析器生成一个程序然后由VDBE执行SQL语句的工作。 下面是sqlite3VdbeExec函数的说明:
int sqlite3VdbeExec( Vdbe *p) {
/* The VDBE */
int pc=0; /* 程序计数器 */
Op *aOp = p->aOp; /* p->aOp的复本 */
Op *pOp; /* 当前操作码 */
int rc = SQLITE_OK; /* 函数返回值 */
sqlite3 *db = p->db; /* 数据库 */
Mem *aMem = p->aMem; /* p->aMem的复本 */
Mem *pIn1 = 0; /* 第一次输入的参数 */
Mem *pIn2 = 0; /* 第二次输入的参数 */
Mem *pIn3 = 0; /* 第三次输入的参数 */
Mem *pOut = 0; /* 输出的参数*/
int iCompare = 0; /*存放操作码OP_Compare的操作结果*/
int *aPermute = 0; /*操作码OP_Compare使用的数组。*/
sqlite3VdbeEnter(p); /*初始化虚拟机程序p的环境*/
p->rc =