sqlite 源码 分析


#1456 **    grep '^case OP_' vdbe.c | ... >opcodes.h
J:\portage\dev-db\sqlite\sqlite-2.8.16.chm::/index.html

main
1342     process_input(&data, 0);
1030           do_meta_command(zLine, p);
1061        sqlite_exec(p->db, zSql, callback, p, &zErrMsg);
                 sqlite_compile(db, zSql, &zLeftover, &pVm, pzErrMsg);
                sqlite_step(pVm, &nArg, (const char***)&azArg,(const char***)&azCol);
                     sqliteVdbeList(p);

                     sqliteVdbeExec(p);
                         599 case OP_Goto: {
                         615 case OP_Gosub: {
                         632 case OP_Return: {
                         660 case OP_Halt: {
                         681 case OP_Integer: {
                         698 case OP_String: {
                         720 case OP_Variable: {
                         737 case OP_Pop: {
                         759 case OP_Dup: {
                         792 case OP_Pull: {
                         824 case OP_Push: {
                         850 case OP_ColumnName: {
                         864 case OP_Callback: {
                         901 case OP_Concat: {
                        1004 case OP_Add:
                        1005 case OP_Subtract:
                        1006 case OP_Multiply:
                        1007 case OP_Divide:
                        1008 case OP_Remainder: {
                        1021       case OP_Add:         b += a;       break;
                        1022       case OP_Subtract:    b -= a;       break;
                        1023       case OP_Multiply:    b *= a;       break;
                        1024       case OP_Divide: {
                        1047       case OP_Add:         b += a;       break;
                        1048       case OP_Subtract:    b -= a;       break;
                        1049       case OP_Multiply:    b *= a;       break;
                        1050       case OP_Divide: {
                        1087 case OP_Function: {
                        1154 case OP_BitAnd:
                        1155 case OP_BitOr:
                        1156 case OP_ShiftLeft:
                        1157 case OP_ShiftRight: {
                        1173     case OP_BitAnd:      a &= b;     break;
                        1174     case OP_BitOr:       a |= b;     break;
                        1175     case OP_ShiftLeft:   a <<= b;    break;
                        1176     case OP_ShiftRight:  a >>= b;    break;
                        1195 case OP_AddImm: {
                        1212 case OP_ForceInt: {
                        1247 case OP_MustBeInt: {
                        1402 case OP_Eq:
                        1403 case OP_Ne:
                        1404 case OP_Lt:
                        1405 case OP_Le:
                        1406 case OP_Gt:
                        1407 case OP_Ge: {
                        1435     case OP_Eq:    c = c==0;     break;
                        1436     case OP_Ne:    c = c!=0;     break;
                        1437     case OP_Lt:    c = c<0;      break;
                        1438     case OP_Le:    c = c<=0;     break;
                        1439     case OP_Gt:    c = c>0;      break;
                        1559 case OP_StrEq:
                        1560 case OP_StrNe:
                        1561 case OP_StrLt:
                        1562 case OP_StrLe:
                        1563 case OP_StrGt:
                        1564 case OP_StrGe: {
                        1582   /* The asserts on each case of the following sw
                        1588     case OP_StrEq:    c = c==0;    assert( pOp->o
                        1589     case OP_StrNe:    c = c!=0;    assert( pOp->o
                        1590     case OP_StrLt:    c = c<0;     assert( pOp->o
                        1591     case OP_StrLe:    c = c<=0;    assert( pOp->o
                        1592     case OP_StrGt:    c = c>0;     assert( pOp->o
                        1618 case OP_And:
                        1619 case OP_Or: {
                        1666 case OP_Negative:
                        1667 case OP_AbsValue: {
                        1700 case OP_Not: {
                        1716 case OP_BitNot: {
                        1731 case OP_Noop: {
                        1755 case OP_If:
                        1756 case OP_IfNot: {
                        1778 case OP_IsNull: {
                        1801 case OP_NotNull: {
                        1833 case OP_MakeRecord: {
                        2014 case OP_MakeIdxKey:
                        2015 case OP_MakeKey: {
                        2121 case OP_IncrKey: {
                        2144 case OP_Checkpoint: {
                        2169 case OP_Transaction: {
                        2177       case SQLITE_BUSY: {
                        2190       case SQLITE_READONLY: {
                        2194       case SQLITE_OK: {
                        2217 case OP_Commit: {
                        2254 case OP_Rollback: {
                        2271 case OP_ReadCookie: {
                        2293 case OP_SetCookie: {
                        2326 case OP_VerifyCookie: {
                        2381 case OP_OpenRead:
                        2382 case OP_OpenWrite: {
                        2418       case SQLITE_BUSY: {
                        2430       case SQLITE_OK: {
                        2460 case OP_OpenTemp: {
                        2498 case OP_OpenPseudo: {
                        2516 case OP_Close: {
                        2545 case OP_MoveLt:
                        2546 case OP_MoveTo: {
                        2636 case OP_Distinct:
                        2637 case OP_NotFound:
                        2638 case OP_Found: {
                        2683 case OP_IsUnique: {
                        2766 case OP_NotExists: {
                        2796 case OP_NewRecno: {
                        2918 case OP_PutIntKey:
                        2919 case OP_PutStrKey: {
                        2994 case OP_Delete: {
                        3014 case OP_SetCounts: {
                        3027 case OP_KeyAsData: {
                        3052 case OP_RowKey:
                        3053 case OP_RowData: {
                        3118 case OP_Column: {
                        3232 case OP_Recno: {
                        3269 case OP_FullKey: {
                        3308 case OP_NullRow: {
                        3325 case OP_Last: {
                        3354 case OP_Rewind: {
                        3392 case OP_Prev:
                        3393 case OP_Next: {
                        3432 case OP_IdxPut: {
                        3480 case OP_IdxDelete: {
                        3508 case OP_IdxRecno: {
                        3558 case OP_IdxLT:
                        3559 case OP_IdxGT:
                        3560 case OP_IdxGE: {
                        3598 case OP_IdxIsNull: {
                        3631 case OP_Destroy: {
                        3648 case OP_Clear: {
                        3678 case OP_CreateIndex:
                        3679 case OP_CreateTable: {
                        3717 case OP_IntegrityCk: {
                        3758 case OP_ListWrite: {
                        3782 case OP_ListRewind: {
                        3804 case OP_ListRead: {
                        3829 case OP_ListReset: {
                        3842 case OP_ListPush: {
                        3858 case OP_ListPop: {
                        3877 case OP_ContextPush: {
                        3895 case OP_ContextPop: {
                        3914 case OP_SortPut: {
                        3939 case OP_SortMakeRec: {
                        3993 case OP_SortMakeKey: {
                        4042 case OP_Sort: {
                        4081 case OP_SortNext: {
                        4105 case OP_SortCallback: {
                        4121 case OP_SortReset: {
                        4131 case OP_FileOpen: {
                        4162 case OP_FileRead: {
                        4233           case 'b':  tx = '\b'; break;
                        4234           case 'f':  tx = '\f'; break;
                        4235           case 'n':  tx = '\n'; break;
                        4236           case 'r':  tx = '\r'; break;
                        4237           case 't':  tx = '\t'; break;
                        4238           case 'v':  tx = '\v'; break;
                        4274 case OP_FileColumn: {
                        4304 case OP_MemStore: {
                        4358 case OP_MemLoad: {
                        4379 case OP_MemIncr: {
                        4397 case OP_AggReset: {
                        4411 case OP_AggInit: {
                        4429 case OP_AggFunc: {
                        4481 case OP_AggFocus: {
                        4508 case OP_AggSet: {
                        4535 case OP_AggGet: {
                        4567 case OP_AggNext: {
                        4612 case OP_SetInsert: {
                        4643 case OP_SetFound: {
                        4661 case OP_SetNotFound: {
                        4686 case OP_SetFirst:
                        4687 case OP_SetNext: {
                        4724 case OP_Vacuum: {
                        4736 case OP_StackDepth: {
                        4750 case OP_StackReset: {


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值