From: drh Date: Thu, 14 Nov 2013 23:59:33 +0000 (+0000) Subject: Adjust the command-line shell EXPLAIN indentation logic to handle the X-Git-Tag: version-3.8.2~90 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01752bc805d5e1b2da2951dd7b84bf1526e029ad;p=thirdparty%2Fsqlite.git Adjust the command-line shell EXPLAIN indentation logic to handle the second loop of an UPDATE that reads out a RowSet. FossilOrigin-Name: ea141a9b87dbb5fa1402bf7f6e36e89cc9de3cb3 --- diff --git a/manifest b/manifest index 0c330d29ec..7db6c41970 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\san\sunused\slocal\svariable. -D 2013-11-14T19:34:10.694 +C Adjust\sthe\scommand-line\sshell\sEXPLAIN\sindentation\slogic\sto\shandle\sthe\nsecond\sloop\sof\san\sUPDATE\sthat\sreads\sout\sa\sRowSet. +D 2013-11-14T23:59:33.676 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 8a07bebafbfda0eb67728f4bd15a36201662d1a1 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -220,7 +220,7 @@ F src/random.c 0b2dbc37fdfbfa6bd455b091dfcef5bdb32dba68 F src/resolve.c fc4673cc49b116e51e7f12de074c0acf8f2388f9 F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0 F src/select.c 7317406831ecced390edba972818f3c5f82238c0 -F src/shell.c 6ccc22b717afe4f6d7d3c8b6baa02e3b99a5fdf0 +F src/shell.c 65a259d538b283e190708b43ece0d596563097f8 F src/sqlite.h.in 4dedcab5b32358bf7a596badffe7363be1f1a82d F src/sqlite3.rc 11094cc6a157a028b301a9f06b3d03089ea37c3e F src/sqlite3ext.h 886f5a34de171002ad46fae8c36a7d8051c190fc @@ -1139,7 +1139,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 24ef16548eebcdb9d8b40308f6a16dabf8f8d474 -R 0c320313c4ba09b8dc172b3453c72ead +P 10d59226382adcb8016fc2d927e5a0c0b36f3980 +R e492370754f541158ba25713cf44bfcb U drh -Z bae383cbfc07908bca5c1197a0c507b6 +Z 035eb0414986ea339898609e92b31744 diff --git a/manifest.uuid b/manifest.uuid index 7086a9bfd6..57c65bfa2d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -10d59226382adcb8016fc2d927e5a0c0b36f3980 \ No newline at end of file +ea141a9b87dbb5fa1402bf7f6e36e89cc9de3cb3 \ No newline at end of file diff --git a/src/shell.c b/src/shell.c index 61df7d6d52..6485fad7b9 100644 --- a/src/shell.c +++ b/src/shell.c @@ -1173,9 +1173,10 @@ static int str_in_array(const char *zStr, const char **azArray){ ** all opcodes that occur between the p2 jump destination and the opcode ** itself by 2 spaces. ** -** * For each "Goto", if the jump destination is a "Yield", "SeekGt", -** or "SeekLt" instruction that occurs earlier in the program than -** the Goto itself, indent all opcodes between the earlier instruction +** * For each "Goto", if the jump destination is earlier in the program +** and ends on one of: +** Yield SeekGt SeekLt RowSetRead +** then indent all opcodes between the earlier instruction ** and "Goto" by 2 spaces. */ static void explain_data_prepare(struct callback_data *p, sqlite3_stmt *pSql){ @@ -1186,7 +1187,7 @@ static void explain_data_prepare(struct callback_data *p, sqlite3_stmt *pSql){ int iOp; const char *azNext[] = { "Next", "Prev", "VPrev", "VNext", 0 }; - const char *azYield[] = { "Yield", "SeekLt", "SeekGt", 0 }; + const char *azYield[] = { "Yield", "SeekLt", "SeekGt", "RowSetRead", 0 }; const char *azGoto[] = { "Goto", 0 }; /* Try to figure out if this is really an EXPLAIN statement. If this