summaryrefslogtreecommitdiffstats
path: root/third_party/sqlite/preprocessed/opcodes.h
blob: 643df41a871870fdb58d3a811e6f2976054328a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
/* Automatically generated.  Do not edit */
/* See the mkopcodeh.awk script for details */
#define OP_NotExists                            1
#define OP_SeekLe                               2
#define OP_IncrVacuum                           3
#define OP_Multiply                            86   /* same as TK_STAR     */
#define OP_VCreate                              4
#define OP_BitAnd                              80   /* same as TK_BITAND   */
#define OP_ResultRow                            5
#define OP_DropTrigger                          6
#define OP_OpenPseudo                           7
#define OP_Affinity                             8
#define OP_IntegrityCk                          9
#define OP_RowKey                              10
#define OP_LoadAnalysis                        11
#define OP_Last                                12
#define OP_Subtract                            85   /* same as TK_MINUS    */
#define OP_Remainder                           88   /* same as TK_REM      */
#define OP_SetCookie                           13
#define OP_Sequence                            14
#define OP_VRename                             15
#define OP_SeekLt                              16
#define OP_SCopy                               17
#define OP_VUpdate                             18
#define OP_VColumn                             20
#define OP_DropTable                           21
#define OP_NotNull                             72   /* same as TK_NOTNULL  */
#define OP_Rowid                               22
#define OP_Real                               130   /* same as TK_FLOAT    */
#define OP_String8                             94   /* same as TK_STRING   */
#define OP_And                                 67   /* same as TK_AND      */
#define OP_BitNot                              93   /* same as TK_BITNOT   */
#define OP_VFilter                             23
#define OP_NullRow                             24
#define OP_HaltIfNull                          25
#define OP_Noop                                26
#define OP_RowSetRead                          27
#define OP_Ge                                  78   /* same as TK_GE       */
#define OP_RowSetAdd                           28
#define OP_ParseSchema                         29
#define OP_CollSeq                             30
#define OP_ToText                             141   /* same as TK_TO_TEXT  */
#define OP_Eq                                  74   /* same as TK_EQ       */
#define OP_RowSetTest                          31
#define OP_ToNumeric                          143   /* same as TK_TO_NUMERIC*/
#define OP_If                                  32
#define OP_IfNot                               33
#define OP_ShiftRight                          83   /* same as TK_RSHIFT   */
#define OP_Destroy                             34
#define OP_Program                             35
#define OP_Permutation                         36
#define OP_CreateIndex                         37
#define OP_Not                                 19   /* same as TK_NOT      */
#define OP_Gt                                  75   /* same as TK_GT       */
#define OP_ResetCount                          38
#define OP_Goto                                39
#define OP_IdxDelete                           40
#define OP_Found                               41
#define OP_SeekGe                              42
#define OP_Jump                                43
#define OP_Pagecount                           44
#define OP_MustBeInt                           45
#define OP_Prev                                46
#define OP_AutoCommit                          47
#define OP_String                              48
#define OP_ToInt                              144   /* same as TK_TO_INT   */
#define OP_Return                              49
#define OP_Copy                                50
#define OP_AddImm                              51
#define OP_Function                            52
#define OP_Trace                               53
#define OP_Seek                                54
#define OP_Concat                              89   /* same as TK_CONCAT   */
#define OP_NewRowid                            55
#define OP_SeekGt                              56
#define OP_Blob                                57
#define OP_IsNull                              71   /* same as TK_ISNULL   */
#define OP_Next                                58
#define OP_ReadCookie                          59
#define OP_Halt                                60
#define OP_Expire                              61
#define OP_Or                                  66   /* same as TK_OR       */
#define OP_DropIndex                           62
#define OP_IdxInsert                           63
#define OP_Savepoint                           64
#define OP_ShiftLeft                           82   /* same as TK_LSHIFT   */
#define OP_Column                              65
#define OP_Int64                               68
#define OP_Gosub                               69
#define OP_RowData                             70
#define OP_Move                                79
#define OP_BitOr                               81   /* same as TK_BITOR    */
#define OP_MemMax                              90
#define OP_Close                               91
#define OP_ToReal                             145   /* same as TK_TO_REAL  */
#define OP_VerifyCookie                        92
#define OP_Null                                95
#define OP_Integer                             96
#define OP_Transaction                         97
#define OP_Divide                              87   /* same as TK_SLASH    */
#define OP_IdxLT                               98
#define OP_Delete                              99
#define OP_IfZero                             100
#define OP_Rewind                             101
#define OP_RealAffinity                       102
#define OP_Clear                              103
#define OP_Explain                            104
#define OP_AggStep                            105
#define OP_Vacuum                             106
#define OP_VDestroy                           107
#define OP_IsUnique                           108
#define OP_Count                              109
#define OP_VOpen                              110
#define OP_Yield                              111
#define OP_AggFinal                           112
#define OP_OpenWrite                          113
#define OP_Param                              114
#define OP_Le                                  76   /* same as TK_LE       */
#define OP_VNext                              115
#define OP_Sort                               116
#define OP_NotFound                           117
#define OP_MakeRecord                         118
#define OP_Add                                 84   /* same as TK_PLUS     */
#define OP_IfNeg                              119
#define OP_Ne                                  73   /* same as TK_NE       */
#define OP_Variable                           120
#define OP_CreateTable                        121
#define OP_Insert                             122
#define OP_Compare                            123
#define OP_IdxGE                              124
#define OP_OpenRead                           125
#define OP_IdxRowid                           126
#define OP_ToBlob                             142   /* same as TK_TO_BLOB  */
#define OP_VBegin                             127
#define OP_TableLock                          128
#define OP_IfPos                              129
#define OP_OpenEphemeral                      131
#define OP_Lt                                  77   /* same as TK_LT       */

/* The following opcode values are never used */
#define OP_NotUsed_132                        132
#define OP_NotUsed_133                        133
#define OP_NotUsed_134                        134
#define OP_NotUsed_135                        135
#define OP_NotUsed_136                        136
#define OP_NotUsed_137                        137
#define OP_NotUsed_138                        138
#define OP_NotUsed_139                        139
#define OP_NotUsed_140                        140


/* Properties such as "out2" or "jump" that are specified in
** comments following the "case" for each opcode in the vdbe.c
** are encoded into bitvectors as follows:
*/
#define OPFLG_JUMP            0x0001  /* jump:  P2 holds jmp target */
#define OPFLG_OUT2_PRERELEASE 0x0002  /* out2-prerelease: */
#define OPFLG_IN1             0x0004  /* in1:   P1 is an input */
#define OPFLG_IN2             0x0008  /* in2:   P2 is an input */
#define OPFLG_IN3             0x0010  /* in3:   P3 is an input */
#define OPFLG_OUT3            0x0020  /* out3:  P3 is an output */
#define OPFLG_INITIALIZER {\
/*   0 */ 0x00, 0x11, 0x11, 0x01, 0x00, 0x00, 0x00, 0x00,\
/*   8 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x02, 0x00,\
/*  16 */ 0x11, 0x04, 0x00, 0x04, 0x00, 0x00, 0x02, 0x01,\
/*  24 */ 0x00, 0x10, 0x00, 0x21, 0x08, 0x00, 0x00, 0x15,\
/*  32 */ 0x05, 0x05, 0x02, 0x01, 0x00, 0x02, 0x00, 0x01,\
/*  40 */ 0x00, 0x11, 0x11, 0x01, 0x02, 0x05, 0x01, 0x00,\
/*  48 */ 0x02, 0x04, 0x04, 0x04, 0x00, 0x00, 0x08, 0x02,\
/*  56 */ 0x11, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08,\
/*  64 */ 0x00, 0x00, 0x2c, 0x2c, 0x02, 0x01, 0x00, 0x05,\
/*  72 */ 0x05, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x00,\
/*  80 */ 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c,\
/*  88 */ 0x2c, 0x2c, 0x08, 0x00, 0x00, 0x04, 0x02, 0x02,\
/*  96 */ 0x02, 0x00, 0x11, 0x00, 0x05, 0x01, 0x04, 0x00,\
/* 104 */ 0x00, 0x00, 0x00, 0x00, 0x11, 0x02, 0x00, 0x04,\
/* 112 */ 0x00, 0x00, 0x02, 0x01, 0x01, 0x11, 0x00, 0x05,\
/* 120 */ 0x00, 0x02, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,\
/* 128 */ 0x00, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,\
/* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04,\
/* 144 */ 0x04, 0x04,}