Fossil SCM
Cherry-pick SQLite [http://www.sqlite.org/src/info/01944c53f5|01944c53f5]: Fix the EXPLAIN indenter in the command-line shell to correctly handle NextIfOpen and PrevIfOpen opcodes.
Commit
bfdabaecc8d7a9c249c1f084c7aacc458a8eea72
Parent
4f4b15aba85436c…
1 file changed
+2
-1
+2
-1
| --- src/shell.c | ||
| +++ src/shell.c | ||
| @@ -1193,11 +1193,12 @@ | ||
| 1193 | 1193 | const char *z; /* Used to check if this is an EXPLAIN */ |
| 1194 | 1194 | int *abYield = 0; /* True if op is an OP_Yield */ |
| 1195 | 1195 | int nAlloc = 0; /* Allocated size of p->aiIndent[], abYield */ |
| 1196 | 1196 | int iOp; /* Index of operation in p->aiIndent[] */ |
| 1197 | 1197 | |
| 1198 | - const char *azNext[] = { "Next", "Prev", "VPrev", "VNext", "SorterNext", 0 }; | |
| 1198 | + const char *azNext[] = { "Next", "Prev", "VPrev", "VNext", "SorterNext", | |
| 1199 | + "NextIfOpen", "PrevIfOpen", 0 }; | |
| 1199 | 1200 | const char *azYield[] = { "Yield", "SeekLt", "SeekGt", "RowSetRead", "Rewind", 0 }; |
| 1200 | 1201 | const char *azGoto[] = { "Goto", 0 }; |
| 1201 | 1202 | |
| 1202 | 1203 | /* Try to figure out if this is really an EXPLAIN statement. If this |
| 1203 | 1204 | ** cannot be verified, return early. */ |
| 1204 | 1205 |
| --- src/shell.c | |
| +++ src/shell.c | |
| @@ -1193,11 +1193,12 @@ | |
| 1193 | const char *z; /* Used to check if this is an EXPLAIN */ |
| 1194 | int *abYield = 0; /* True if op is an OP_Yield */ |
| 1195 | int nAlloc = 0; /* Allocated size of p->aiIndent[], abYield */ |
| 1196 | int iOp; /* Index of operation in p->aiIndent[] */ |
| 1197 | |
| 1198 | const char *azNext[] = { "Next", "Prev", "VPrev", "VNext", "SorterNext", 0 }; |
| 1199 | const char *azYield[] = { "Yield", "SeekLt", "SeekGt", "RowSetRead", "Rewind", 0 }; |
| 1200 | const char *azGoto[] = { "Goto", 0 }; |
| 1201 | |
| 1202 | /* Try to figure out if this is really an EXPLAIN statement. If this |
| 1203 | ** cannot be verified, return early. */ |
| 1204 |
| --- src/shell.c | |
| +++ src/shell.c | |
| @@ -1193,11 +1193,12 @@ | |
| 1193 | const char *z; /* Used to check if this is an EXPLAIN */ |
| 1194 | int *abYield = 0; /* True if op is an OP_Yield */ |
| 1195 | int nAlloc = 0; /* Allocated size of p->aiIndent[], abYield */ |
| 1196 | int iOp; /* Index of operation in p->aiIndent[] */ |
| 1197 | |
| 1198 | const char *azNext[] = { "Next", "Prev", "VPrev", "VNext", "SorterNext", |
| 1199 | "NextIfOpen", "PrevIfOpen", 0 }; |
| 1200 | const char *azYield[] = { "Yield", "SeekLt", "SeekGt", "RowSetRead", "Rewind", 0 }; |
| 1201 | const char *azGoto[] = { "Goto", 0 }; |
| 1202 | |
| 1203 | /* Try to figure out if this is really an EXPLAIN statement. If this |
| 1204 | ** cannot be verified, return early. */ |
| 1205 |