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