Fossil

Check-in [67f148537f]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:cherry-pick [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to correctly handle NextIfOpen and PrevIfOpen opcodes
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | branch-1.28
Files: files | file ages | folders
SHA1: 67f148537f7e2e7a2dbf2c343b834426ad673d2c
User & Date: jan.nijtmans 2014-03-23 09:45:30.218
Context
2014-03-23
09:46
Cherry-pick [684eb478e7] Fix the SCGI processing so that it works with Nginx check-in: 26eb153988 user: jan.nijtmans tags: branch-1.28
09:45
cherry-pick [bfdabaecc8]: Fix the EXPLAIN indenter in the command-line shell to correctly handle NextIfOpen and PrevIfOpen opcodes check-in: 67f148537f user: jan.nijtmans tags: branch-1.28
2014-03-21
10:08
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. check-in: bfdabaecc8 user: jan.nijtmans tags: trunk
2014-03-11
22:26
update changes.wiki check-in: 927257ea56 user: jan.nijtmans tags: branch-1.28
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/shell.c.
1193
1194
1195
1196
1197
1198
1199
1200

1201
1202
1203
1204
1205
1206
1207
static void explain_data_prepare(struct callback_data *p, sqlite3_stmt *pSql){
  const char *zSql;               /* The text of the SQL statement */
  const char *z;                  /* Used to check if this is an EXPLAIN */
  int *abYield = 0;               /* True if op is an OP_Yield */
  int nAlloc = 0;                 /* Allocated size of p->aiIndent[], abYield */
  int iOp;                        /* Index of operation in p->aiIndent[] */

  const char *azNext[] = { "Next", "Prev", "VPrev", "VNext", "SorterNext", 0 };

  const char *azYield[] = { "Yield", "SeekLt", "SeekGt", "RowSetRead", "Rewind", 0 };
  const char *azGoto[] = { "Goto", 0 };

  /* Try to figure out if this is really an EXPLAIN statement. If this
  ** cannot be verified, return early.  */
  zSql = sqlite3_sql(pSql);
  if( zSql==0 ) return;







|
>







1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
static void explain_data_prepare(struct callback_data *p, sqlite3_stmt *pSql){
  const char *zSql;               /* The text of the SQL statement */
  const char *z;                  /* Used to check if this is an EXPLAIN */
  int *abYield = 0;               /* True if op is an OP_Yield */
  int nAlloc = 0;                 /* Allocated size of p->aiIndent[], abYield */
  int iOp;                        /* Index of operation in p->aiIndent[] */

  const char *azNext[] = { "Next", "Prev", "VPrev", "VNext", "SorterNext",
                           "NextIfOpen", "PrevIfOpen", 0 };
  const char *azYield[] = { "Yield", "SeekLt", "SeekGt", "RowSetRead", "Rewind", 0 };
  const char *azGoto[] = { "Goto", 0 };

  /* Try to figure out if this is really an EXPLAIN statement. If this
  ** cannot be verified, return early.  */
  zSql = sqlite3_sql(pSql);
  if( zSql==0 ) return;