1 | /* Automatically generated. Do not edit */ |
2 | /* See the tool/mkopcodec.tcl script for details. */ |
3 | #if !defined(SQLITE_OMIT_EXPLAIN) \ |
4 | || defined(VDBE_PROFILE) \ |
5 | || defined(SQLITE_DEBUG) |
6 | #if defined(SQLITE_ENABLE_EXPLAIN_COMMENTS) || defined(SQLITE_DEBUG) |
7 | # define OpHelp(X) "\0" X |
8 | #else |
9 | # define OpHelp(X) |
10 | #endif |
11 | const char *sqlite3OpcodeName(int i){ |
12 | static const char *const azName[] = { |
13 | /* 0 */ "Savepoint" OpHelp("" ), |
14 | /* 1 */ "AutoCommit" OpHelp("" ), |
15 | /* 2 */ "Transaction" OpHelp("" ), |
16 | /* 3 */ "Checkpoint" OpHelp("" ), |
17 | /* 4 */ "JournalMode" OpHelp("" ), |
18 | /* 5 */ "Vacuum" OpHelp("" ), |
19 | /* 6 */ "VFilter" OpHelp("iplan=r[P3] zplan='P4'" ), |
20 | /* 7 */ "VUpdate" OpHelp("data=r[P3@P2]" ), |
21 | /* 8 */ "Init" OpHelp("Start at P2" ), |
22 | /* 9 */ "Goto" OpHelp("" ), |
23 | /* 10 */ "Gosub" OpHelp("" ), |
24 | /* 11 */ "InitCoroutine" OpHelp("" ), |
25 | /* 12 */ "Yield" OpHelp("" ), |
26 | /* 13 */ "MustBeInt" OpHelp("" ), |
27 | /* 14 */ "Jump" OpHelp("" ), |
28 | /* 15 */ "Once" OpHelp("" ), |
29 | /* 16 */ "If" OpHelp("" ), |
30 | /* 17 */ "IfNot" OpHelp("" ), |
31 | /* 18 */ "IsType" OpHelp("if typeof(P1.P3) in P5 goto P2" ), |
32 | /* 19 */ "Not" OpHelp("r[P2]= !r[P1]" ), |
33 | /* 20 */ "IfNullRow" OpHelp("if P1.nullRow then r[P3]=NULL, goto P2" ), |
34 | /* 21 */ "SeekLT" OpHelp("key=r[P3@P4]" ), |
35 | /* 22 */ "SeekLE" OpHelp("key=r[P3@P4]" ), |
36 | /* 23 */ "SeekGE" OpHelp("key=r[P3@P4]" ), |
37 | /* 24 */ "SeekGT" OpHelp("key=r[P3@P4]" ), |
38 | /* 25 */ "IfNotOpen" OpHelp("if( !csr[P1] ) goto P2" ), |
39 | /* 26 */ "IfNoHope" OpHelp("key=r[P3@P4]" ), |
40 | /* 27 */ "NoConflict" OpHelp("key=r[P3@P4]" ), |
41 | /* 28 */ "NotFound" OpHelp("key=r[P3@P4]" ), |
42 | /* 29 */ "Found" OpHelp("key=r[P3@P4]" ), |
43 | /* 30 */ "SeekRowid" OpHelp("intkey=r[P3]" ), |
44 | /* 31 */ "NotExists" OpHelp("intkey=r[P3]" ), |
45 | /* 32 */ "Last" OpHelp("" ), |
46 | /* 33 */ "IfSmaller" OpHelp("" ), |
47 | /* 34 */ "SorterSort" OpHelp("" ), |
48 | /* 35 */ "Sort" OpHelp("" ), |
49 | /* 36 */ "Rewind" OpHelp("" ), |
50 | /* 37 */ "SorterNext" OpHelp("" ), |
51 | /* 38 */ "Prev" OpHelp("" ), |
52 | /* 39 */ "Next" OpHelp("" ), |
53 | /* 40 */ "IdxLE" OpHelp("key=r[P3@P4]" ), |
54 | /* 41 */ "IdxGT" OpHelp("key=r[P3@P4]" ), |
55 | /* 42 */ "IdxLT" OpHelp("key=r[P3@P4]" ), |
56 | /* 43 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])" ), |
57 | /* 44 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])" ), |
58 | /* 45 */ "IdxGE" OpHelp("key=r[P3@P4]" ), |
59 | /* 46 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)" ), |
60 | /* 47 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2" ), |
61 | /* 48 */ "Program" OpHelp("" ), |
62 | /* 49 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2" ), |
63 | /* 50 */ "IsNull" OpHelp("if r[P1]==NULL goto P2" ), |
64 | /* 51 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2" ), |
65 | /* 52 */ "Ne" OpHelp("IF r[P3]!=r[P1]" ), |
66 | /* 53 */ "Eq" OpHelp("IF r[P3]==r[P1]" ), |
67 | /* 54 */ "Gt" OpHelp("IF r[P3]>r[P1]" ), |
68 | /* 55 */ "Le" OpHelp("IF r[P3]<=r[P1]" ), |
69 | /* 56 */ "Lt" OpHelp("IF r[P3]<r[P1]" ), |
70 | /* 57 */ "Ge" OpHelp("IF r[P3]>=r[P1]" ), |
71 | /* 58 */ "ElseEq" OpHelp("" ), |
72 | /* 59 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2" ), |
73 | /* 60 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]--, goto P2" ), |
74 | /* 61 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2" ), |
75 | /* 62 */ "IncrVacuum" OpHelp("" ), |
76 | /* 63 */ "VNext" OpHelp("" ), |
77 | /* 64 */ "Filter" OpHelp("if key(P3@P4) not in filter(P1) goto P2" ), |
78 | /* 65 */ "PureFunc" OpHelp("r[P3]=func(r[P2@NP])" ), |
79 | /* 66 */ "Function" OpHelp("r[P3]=func(r[P2@NP])" ), |
80 | /* 67 */ "Return" OpHelp("" ), |
81 | /* 68 */ "EndCoroutine" OpHelp("" ), |
82 | /* 69 */ "HaltIfNull" OpHelp("if r[P3]=null halt" ), |
83 | /* 70 */ "Halt" OpHelp("" ), |
84 | /* 71 */ "Integer" OpHelp("r[P2]=P1" ), |
85 | /* 72 */ "Int64" OpHelp("r[P2]=P4" ), |
86 | /* 73 */ "String" OpHelp("r[P2]='P4' (len=P1)" ), |
87 | /* 74 */ "BeginSubrtn" OpHelp("r[P2]=NULL" ), |
88 | /* 75 */ "Null" OpHelp("r[P2..P3]=NULL" ), |
89 | /* 76 */ "SoftNull" OpHelp("r[P1]=NULL" ), |
90 | /* 77 */ "Blob" OpHelp("r[P2]=P4 (len=P1)" ), |
91 | /* 78 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)" ), |
92 | /* 79 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]" ), |
93 | /* 80 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]" ), |
94 | /* 81 */ "SCopy" OpHelp("r[P2]=r[P1]" ), |
95 | /* 82 */ "IntCopy" OpHelp("r[P2]=r[P1]" ), |
96 | /* 83 */ "FkCheck" OpHelp("" ), |
97 | /* 84 */ "ResultRow" OpHelp("output=r[P1@P2]" ), |
98 | /* 85 */ "CollSeq" OpHelp("" ), |
99 | /* 86 */ "AddImm" OpHelp("r[P1]=r[P1]+P2" ), |
100 | /* 87 */ "RealAffinity" OpHelp("" ), |
101 | /* 88 */ "Cast" OpHelp("affinity(r[P1])" ), |
102 | /* 89 */ "Permutation" OpHelp("" ), |
103 | /* 90 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]" ), |
104 | /* 91 */ "IsTrue" OpHelp("r[P2] = coalesce(r[P1]==TRUE,P3) ^ P4" ), |
105 | /* 92 */ "ZeroOrNull" OpHelp("r[P2] = 0 OR NULL" ), |
106 | /* 93 */ "Offset" OpHelp("r[P3] = sqlite_offset(P1)" ), |
107 | /* 94 */ "Column" OpHelp("r[P3]=PX cursor P1 column P2" ), |
108 | /* 95 */ "TypeCheck" OpHelp("typecheck(r[P1@P2])" ), |
109 | /* 96 */ "Affinity" OpHelp("affinity(r[P1@P2])" ), |
110 | /* 97 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])" ), |
111 | /* 98 */ "Count" OpHelp("r[P2]=count()" ), |
112 | /* 99 */ "ReadCookie" OpHelp("" ), |
113 | /* 100 */ "SetCookie" OpHelp("" ), |
114 | /* 101 */ "ReopenIdx" OpHelp("root=P2 iDb=P3" ), |
115 | /* 102 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]" ), |
116 | /* 103 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]" ), |
117 | /* 104 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<<r[P1]" ), |
118 | /* 105 */ "ShiftRight" OpHelp("r[P3]=r[P2]>>r[P1]" ), |
119 | /* 106 */ "Add" OpHelp("r[P3]=r[P1]+r[P2]" ), |
120 | /* 107 */ "Subtract" OpHelp("r[P3]=r[P2]-r[P1]" ), |
121 | /* 108 */ "Multiply" OpHelp("r[P3]=r[P1]*r[P2]" ), |
122 | /* 109 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]" ), |
123 | /* 110 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]" ), |
124 | /* 111 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]" ), |
125 | /* 112 */ "OpenRead" OpHelp("root=P2 iDb=P3" ), |
126 | /* 113 */ "OpenWrite" OpHelp("root=P2 iDb=P3" ), |
127 | /* 114 */ "BitNot" OpHelp("r[P2]= ~r[P1]" ), |
128 | /* 115 */ "OpenDup" OpHelp("" ), |
129 | /* 116 */ "OpenAutoindex" OpHelp("nColumn=P2" ), |
130 | /* 117 */ "String8" OpHelp("r[P2]='P4'" ), |
131 | /* 118 */ "OpenEphemeral" OpHelp("nColumn=P2" ), |
132 | /* 119 */ "SorterOpen" OpHelp("" ), |
133 | /* 120 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2" ), |
134 | /* 121 */ "OpenPseudo" OpHelp("P3 columns in r[P2]" ), |
135 | /* 122 */ "Close" OpHelp("" ), |
136 | /* 123 */ "ColumnsUsed" OpHelp("" ), |
137 | /* 124 */ "SeekScan" OpHelp("Scan-ahead up to P1 rows" ), |
138 | /* 125 */ "SeekHit" OpHelp("set P2<=seekHit<=P3" ), |
139 | /* 126 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++" ), |
140 | /* 127 */ "NewRowid" OpHelp("r[P2]=rowid" ), |
141 | /* 128 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]" ), |
142 | /* 129 */ "RowCell" OpHelp("" ), |
143 | /* 130 */ "Delete" OpHelp("" ), |
144 | /* 131 */ "ResetCount" OpHelp("" ), |
145 | /* 132 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2" ), |
146 | /* 133 */ "SorterData" OpHelp("r[P2]=data" ), |
147 | /* 134 */ "RowData" OpHelp("r[P2]=data" ), |
148 | /* 135 */ "Rowid" OpHelp("r[P2]=PX rowid of P1" ), |
149 | /* 136 */ "NullRow" OpHelp("" ), |
150 | /* 137 */ "SeekEnd" OpHelp("" ), |
151 | /* 138 */ "IdxInsert" OpHelp("key=r[P2]" ), |
152 | /* 139 */ "SorterInsert" OpHelp("key=r[P2]" ), |
153 | /* 140 */ "IdxDelete" OpHelp("key=r[P2@P3]" ), |
154 | /* 141 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed" ), |
155 | /* 142 */ "IdxRowid" OpHelp("r[P2]=rowid" ), |
156 | /* 143 */ "FinishSeek" OpHelp("" ), |
157 | /* 144 */ "Destroy" OpHelp("" ), |
158 | /* 145 */ "Clear" OpHelp("" ), |
159 | /* 146 */ "ResetSorter" OpHelp("" ), |
160 | /* 147 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3" ), |
161 | /* 148 */ "SqlExec" OpHelp("" ), |
162 | /* 149 */ "ParseSchema" OpHelp("" ), |
163 | /* 150 */ "LoadAnalysis" OpHelp("" ), |
164 | /* 151 */ "DropTable" OpHelp("" ), |
165 | /* 152 */ "DropIndex" OpHelp("" ), |
166 | /* 153 */ "Real" OpHelp("r[P2]=P4" ), |
167 | /* 154 */ "DropTrigger" OpHelp("" ), |
168 | /* 155 */ "IntegrityCk" OpHelp("" ), |
169 | /* 156 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]" ), |
170 | /* 157 */ "Param" OpHelp("" ), |
171 | /* 158 */ "FkCounter" OpHelp("fkctr[P1]+=P2" ), |
172 | /* 159 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])" ), |
173 | /* 160 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)" ), |
174 | /* 161 */ "AggInverse" OpHelp("accum=r[P3] inverse(r[P2@P5])" ), |
175 | /* 162 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])" ), |
176 | /* 163 */ "AggStep1" OpHelp("accum=r[P3] step(r[P2@P5])" ), |
177 | /* 164 */ "AggValue" OpHelp("r[P3]=value N=P2" ), |
178 | /* 165 */ "AggFinal" OpHelp("accum=r[P1] N=P2" ), |
179 | /* 166 */ "Expire" OpHelp("" ), |
180 | /* 167 */ "CursorLock" OpHelp("" ), |
181 | /* 168 */ "CursorUnlock" OpHelp("" ), |
182 | /* 169 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3" ), |
183 | /* 170 */ "VBegin" OpHelp("" ), |
184 | /* 171 */ "VCreate" OpHelp("" ), |
185 | /* 172 */ "VDestroy" OpHelp("" ), |
186 | /* 173 */ "VOpen" OpHelp("" ), |
187 | /* 174 */ "VInitIn" OpHelp("r[P2]=ValueList(P1,P3)" ), |
188 | /* 175 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)" ), |
189 | /* 176 */ "VRename" OpHelp("" ), |
190 | /* 177 */ "Pagecount" OpHelp("" ), |
191 | /* 178 */ "MaxPgcnt" OpHelp("" ), |
192 | /* 179 */ "ClrSubtype" OpHelp("r[P1].subtype = 0" ), |
193 | /* 180 */ "FilterAdd" OpHelp("filter(P1) += key(P3@P4)" ), |
194 | /* 181 */ "Trace" OpHelp("" ), |
195 | /* 182 */ "CursorHint" OpHelp("" ), |
196 | /* 183 */ "ReleaseReg" OpHelp("release r[P1@P2] mask P3" ), |
197 | /* 184 */ "Noop" OpHelp("" ), |
198 | /* 185 */ "Explain" OpHelp("" ), |
199 | /* 186 */ "Abortable" OpHelp("" ), |
200 | }; |
201 | return azName[i]; |
202 | } |
203 | #endif |
204 | |