-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathopcodes_h.cs
More file actions
executable file
·348 lines (342 loc) · 17 KB
/
opcodes_h.cs
File metadata and controls
executable file
·348 lines (342 loc) · 17 KB
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
namespace System.Data.SQLite
{
public partial class Sqlite3
{
/* Automatically generated. Do not edit */
/* See the mkopcodeh.awk script for details */
/* Automatically generated. Do not edit */
/* See the mkopcodeh.awk script for details */
//#define OP_Goto 1
//#define OP_Gosub 2
//#define OP_Return 3
//#define OP_Yield 4
//#define OP_HaltIfNull 5
//#define OP_Halt 6
//#define OP_Integer 7
//#define OP_Int64 8
//#define OP_Real 130 /* same as TK_FLOAT */
//#define OP_String8 94 /* same as TK_STRING */
//#define OP_String 9
//#define OP_Null 10
//#define OP_Blob 11
//#define OP_Variable 12
//#define OP_Move 13
//#define OP_Copy 14
//#define OP_SCopy 15
//#define OP_ResultRow 16
//#define OP_Concat 91 /* same as TK_CONCAT */
//#define OP_Add 86 /* same as TK_PLUS */
//#define OP_Subtract 87 /* same as TK_MINUS */
//#define OP_Multiply 88 /* same as TK_STAR */
//#define OP_Divide 89 /* same as TK_SLASH */
//#define OP_Remainder 90 /* same as TK_REM */
//#define OP_CollSeq 17
//#define OP_Function 18
//#define OP_BitAnd 82 /* same as TK_BITAND */
//#define OP_BitOr 83 /* same as TK_BITOR */
//#define OP_ShiftLeft 84 /* same as TK_LSHIFT */
//#define OP_ShiftRight 85 /* same as TK_RSHIFT */
//#define OP_AddImm 20
//#define OP_MustBeInt 21
//#define OP_RealAffinity 22
//#define OP_ToText 141 /* same as TK_TO_TEXT */
//#define OP_ToBlob 142 /* same as TK_TO_BLOB */
//#define OP_ToNumeric 143 /* same as TK_TO_NUMERIC*/
//#define OP_ToInt 144 /* same as TK_TO_INT */
//#define OP_ToReal 145 /* same as TK_TO_REAL */
//#define OP_Eq 76 /* same as TK_EQ */
//#define OP_Ne 75 /* same as TK_NE */
//#define OP_Lt 79 /* same as TK_LT */
//#define OP_Le 78 /* same as TK_LE */
//#define OP_Gt 77 /* same as TK_GT */
//#define OP_Ge 80 /* same as TK_GE */
//#define OP_Permutation 23
//#define OP_Compare 24
//#define OP_Jump 25
//#define OP_And 69 /* same as TK_AND */
//#define OP_Or 68 /* same as TK_OR */
//#define OP_Not 19 /* same as TK_NOT */
//#define OP_BitNot 93 /* same as TK_BITNOT */
//#define OP_If 26
//#define OP_IfNot 27
//#define OP_IsNull 73 /* same as TK_ISNULL */
//#define OP_NotNull 74 /* same as TK_NOTNULL */
//#define OP_Column 28
//#define OP_Affinity 29
//#define OP_MakeRecord 30
//#define OP_Count 31
//#define OP_Savepoint 32
//#define OP_AutoCommit 33
//#define OP_Transaction 34
//#define OP_ReadCookie 35
//#define OP_SetCookie 36
//#define OP_VerifyCookie 37
//#define OP_OpenRead 38
//#define OP_OpenWrite 39
//#define OP_OpenAutoindex 40
//#define OP_OpenEphemeral 41
//#define OP_OpenPseudo 42
//#define OP_Close 43
//#define OP_SeekLt 44
//#define OP_SeekLe 45
//#define OP_SeekGe 46
//#define OP_SeekGt 47
//#define OP_Seek 48
//#define OP_NotFound 49
//#define OP_Found 50
//#define OP_IsUnique 51
//#define OP_NotExists 52
//#define OP_Sequence 53
//#define OP_NewRowid 54
//#define OP_Insert 55
//#define OP_InsertInt 56
//#define OP_Delete 57
//#define OP_ResetCount 58
//#define OP_RowKey 59
//#define OP_RowData 60
//#define OP_Rowid 61
//#define OP_NullRow 62
//#define OP_Last 63
//#define OP_Sort 64
//#define OP_Rewind 65
//#define OP_Prev 66
//#define OP_Next 67
//#define OP_IdxInsert 70
//#define OP_IdxDelete 71
//#define OP_IdxRowid 72
//#define OP_IdxLT 81
//#define OP_IdxGE 92
//#define OP_Destroy 95
//#define OP_Clear 96
//#define OP_CreateIndex 97
//#define OP_CreateTable 98
//#define OP_ParseSchema 99
//#define OP_LoadAnalysis 100
//#define OP_DropTable 101
//#define OP_DropIndex 102
//#define OP_DropTrigger 103
//#define OP_IntegrityCk 104
//#define OP_RowSetAdd 105
//#define OP_RowSetRead 106
//#define OP_RowSetTest 107
//#define OP_Program 108
//#define OP_Param 109
//#define OP_FkCounter 110
//#define OP_FkIfZero 111
//#define OP_MemMax 112
//#define OP_IfPos 113
//#define OP_IfNeg 114
//#define OP_IfZero 115
//#define OP_AggStep 116
//#define OP_AggFinal 117
//#define OP_Checkpoint 118
//#define OP_JournalMode 119
//#define OP_Vacuum 120
//#define OP_IncrVacuum 121
//#define OP_Expire 122
//#define OP_TableLock 123
//#define OP_VBegin 124
//#define OP_VCreate 125
//#define OP_VDestroy 126
//#define OP_VOpen 127
//#define OP_VFilter 128
//#define OP_VColumn 129
//#define OP_VNext 131
//#define OP_VRename 132
//#define OP_VUpdate 133
//#define OP_Pagecount 134
//#define OP_MaxPgcnt 135
//#define OP_Trace 136
//#define OP_Noop 137
//#define OP_Explain 138
public const int OP_Goto = 1;
public const int OP_Gosub = 2;
public const int OP_Return = 3;
public const int OP_Yield = 4;
public const int OP_HaltIfNull = 5;
public const int OP_Halt = 6;
public const int OP_Integer = 7;
public const int OP_Int64 = 8;
public const int OP_Real = 130 /* same as TK_FLOAT */;
public const int OP_String8 = 94 /* same as TK_STRING */;
public const int OP_String = 9;
public const int OP_Null = 10;
public const int OP_Blob = 11;
public const int OP_Variable = 12;
public const int OP_Move = 13;
public const int OP_Copy = 14;
public const int OP_SCopy = 15;
public const int OP_ResultRow = 16;
public const int OP_Concat = 91 /* same as TK_CONCAT */;
public const int OP_Add = 86 /* same as TK_PLUS */;
public const int OP_Subtract = 87 /* same as TK_MINUS */;
public const int OP_Multiply = 88 /* same as TK_STAR */;
public const int OP_Divide = 89 /* same as TK_SLASH */;
public const int OP_Remainder = 90 /* same as TK_REM */;
public const int OP_CollSeq = 17;
public const int OP_Function = 18;
public const int OP_BitAnd = 82 /* same as TK_BITAND */;
public const int OP_BitOr = 83 /* same as TK_BITOR */;
public const int OP_ShiftLeft = 84 /* same as TK_LSHIFT */;
public const int OP_ShiftRight = 85 /* same as TK_RSHIFT */;
public const int OP_AddImm = 20;
public const int OP_MustBeInt = 21;
public const int OP_RealAffinity = 22;
public const int OP_ToText = 141 /* same as TK_TO_TEXT */;
public const int OP_ToBlob = 142 /* same as TK_TO_BLOB */;
public const int OP_ToNumeric = 143 /* same as TK_TO_NUMERIC*/;
public const int OP_ToInt = 144 /* same as TK_TO_INT */;
public const int OP_ToReal = 145 /* same as TK_TO_REAL */;
public const int OP_Eq = 76 /* same as TK_EQ */;
public const int OP_Ne = 75 /* same as TK_NE */;
public const int OP_Lt = 79 /* same as TK_LT */;
public const int OP_Le = 78 /* same as TK_LE */;
public const int OP_Gt = 77 /* same as TK_GT */;
public const int OP_Ge = 80 /* same as TK_GE */;
public const int OP_Permutation = 23;
public const int OP_Compare = 24;
public const int OP_Jump = 25;
public const int OP_And = 69 /* same as TK_AND */;
public const int OP_Or = 68 /* same as TK_OR */;
public const int OP_Not = 19 /* same as TK_NOT */;
public const int OP_BitNot = 93 /* same as TK_BITNOT */;
public const int OP_If = 26;
public const int OP_IfNot = 27;
public const int OP_IsNull = 73 /* same as TK_ISNULL */;
public const int OP_NotNull = 74 /* same as TK_NOTNULL */;
public const int OP_Column = 28;
public const int OP_Affinity = 29;
public const int OP_MakeRecord = 30;
public const int OP_Count = 31;
public const int OP_Savepoint = 32;
public const int OP_AutoCommit = 33;
public const int OP_Transaction = 34;
public const int OP_ReadCookie = 35;
public const int OP_SetCookie = 36;
public const int OP_VerifyCookie = 37;
public const int OP_OpenRead = 38;
public const int OP_OpenWrite = 39;
public const int OP_OpenAutoindex = 40;
public const int OP_OpenEphemeral = 41;
public const int OP_OpenPseudo = 42;
public const int OP_Close = 43;
public const int OP_SeekLt = 44;
public const int OP_SeekLe = 45;
public const int OP_SeekGe = 46;
public const int OP_SeekGt = 47;
public const int OP_Seek = 48;
public const int OP_NotFound = 49;
public const int OP_Found = 50;
public const int OP_IsUnique = 51;
public const int OP_NotExists = 52;
public const int OP_Sequence = 53;
public const int OP_NewRowid = 54;
public const int OP_Insert = 55;
public const int OP_InsertInt = 56;
public const int OP_Delete = 57;
public const int OP_ResetCount = 58;
public const int OP_RowKey = 59;
public const int OP_RowData = 60;
public const int OP_Rowid = 61;
public const int OP_NullRow = 62;
public const int OP_Last = 63;
public const int OP_Sort = 64;
public const int OP_Rewind = 65;
public const int OP_Prev = 66;
public const int OP_Next = 67;
public const int OP_IdxInsert = 70;
public const int OP_IdxDelete = 71;
public const int OP_IdxRowid = 72;
public const int OP_IdxLT = 81;
public const int OP_IdxGE = 92;
public const int OP_Destroy = 95;
public const int OP_Clear = 96;
public const int OP_CreateIndex = 97;
public const int OP_CreateTable = 98;
public const int OP_ParseSchema = 99;
public const int OP_LoadAnalysis = 100;
public const int OP_DropTable = 101;
public const int OP_DropIndex = 102;
public const int OP_DropTrigger = 103;
public const int OP_IntegrityCk = 104;
public const int OP_RowSetAdd = 105;
public const int OP_RowSetRead = 106;
public const int OP_RowSetTest = 107;
public const int OP_Program = 108;
public const int OP_Param = 109;
public const int OP_FkCounter = 110;
public const int OP_FkIfZero = 111;
public const int OP_MemMax = 112;
public const int OP_IfPos = 113;
public const int OP_IfNeg = 114;
public const int OP_IfZero = 115;
public const int OP_AggStep = 116;
public const int OP_AggFinal = 117;
public const int OP_Checkpoint = 118;
public const int OP_JournalMode = 119;
public const int OP_Vacuum = 120;
public const int OP_IncrVacuum = 121;
public const int OP_Expire = 122;
public const int OP_TableLock = 123;
public const int OP_VBegin = 124;
public const int OP_VCreate = 125;
public const int OP_VDestroy = 126;
public const int OP_VOpen = 127;
public const int OP_VFilter = 128;
public const int OP_VColumn = 129;
public const int OP_VNext = 131;
public const int OP_VRename = 132;
public const int OP_VUpdate = 133;
public const int OP_Pagecount = 134;
public const int OP_MaxPgcnt = 135;
public const int OP_Trace = 136;
public const int OP_Noop = 137;
public const int OP_Explain = 138;
/* The following opcode values are never used */
//#define OP_NotUsed_139 139
//#define OP_NotUsed_140 140
/* The following opcode values are never used */
public const int OP_NotUsed_138 = 138;
public const int OP_NotUsed_139 = 139;
public const int 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_OUT2 0x0020 /* out2: P2 is an output */
//#define OPFLG_OUT3 0x0040 /* out3: P3 is an output */
public const int OPFLG_JUMP = 0x0001; /* jump: P2 holds jmp target */
public const int OPFLG_OUT2_PRERELEASE = 0x0002; /* out2-prerelease: */
public const int OPFLG_IN1 = 0x0004; /* in1: P1 is an input */
public const int OPFLG_IN2 = 0x0008; /* in2: P2 is an input */
public const int OPFLG_IN3 = 0x0010; /* in3: P3 is an input */
public const int OPFLG_OUT2 = 0x0020; /* out2: P2 is an output */
public const int OPFLG_OUT3 = 0x0040; /* out3: P3 is an output */
public static int[] OPFLG_INITIALIZER = new int[]{
/* 0 */ 0x00, 0x01, 0x05, 0x04, 0x04, 0x10, 0x00, 0x02,
/* 8 */ 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x24, 0x24,
/* 16 */ 0x00, 0x00, 0x00, 0x24, 0x04, 0x05, 0x04, 0x00,
/* 24 */ 0x00, 0x01, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02,
/* 32 */ 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x00,
/* 40 */ 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11,
/* 48 */ 0x08, 0x11, 0x11, 0x11, 0x11, 0x02, 0x02, 0x00,
/* 56 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
/* 64 */ 0x01, 0x01, 0x01, 0x01, 0x4c, 0x4c, 0x08, 0x00,
/* 72 */ 0x02, 0x05, 0x05, 0x15, 0x15, 0x15, 0x15, 0x15,
/* 80 */ 0x15, 0x01, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
/* 88 */ 0x4c, 0x4c, 0x4c, 0x4c, 0x01, 0x24, 0x02, 0x02,
/* 96 */ 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 104 */ 0x00, 0x0c, 0x45, 0x15, 0x01, 0x02, 0x00, 0x01,
/* 112 */ 0x08, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02,
/* 120 */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 128 */ 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02,
/* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04,
/* 144 */ 0x04, 0x04
};
}
}