1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-23 11:22:09 +03:00

Avoid using a prepared statement for ".stats on" after it has been closed

by the ".eqp full" logic.  Fix for ticket [7be932dfa60a8a6b3b26bcf76].

FossilOrigin-Name: bb87c054b1b76959e46258ac66b24027f468b390a4148ac67f208a1fbeda4060
This commit is contained in:
drh
2018-06-07 15:23:43 +00:00
parent df12595c09
commit 3c49eaf4be
4 changed files with 22 additions and 8 deletions

View File

@ -1,5 +1,5 @@
C Change\sa\scomma\sinto\sa\slogically\sequivalent\sbut\ssemantically\sclearer\ssemicolon.
D 2018-06-06T23:31:26.651
C Avoid\susing\sa\sprepared\sstatement\sfor\s".stats\son"\safter\sit\shas\sbeen\sclosed\nby\sthe\s".eqp\sfull"\slogic.\s\sFix\sfor\sticket\s[7be932dfa60a8a6b3b26bcf76].
D 2018-06-07T15:23:43.571
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F Makefile.in bfc40f350586923e0419d2ea4b559c37ec10ee4b6e210e08c14401f8e340f0da
@ -496,7 +496,7 @@ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
F src/resolve.c 14602f46800ba182ea6a490e0f304127d29ac1f724bdadcc639e25d3223fcf6e
F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
F src/select.c 8d3176c5258cc83942815ebe75b4c1f8dcf62b5e0f4d37373a14ebf23c046f9f
F src/shell.c.in 099edadacd82abbe38472e2995b140560bb9826cd4af611e6bab662cfba8fbda
F src/shell.c.in 3151c40b2f23857d6af032d535bcc8c432926c11ceb14803213cbb45552b957a
F src/sqlite.h.in 63b07f76731f2b1e55c48fdb9f0508dcc6fbe3971010b8612ffd847c3c56d9a1
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F src/sqlite3ext.h 9887b27e69c01e79c2cbe74ef73bf01af5b5703d6a7f0a4371e386d7249cb1c7
@ -1241,7 +1241,7 @@ F test/sharedA.test 49d87ec54ab640fbbc3786ee3c01de94aaa482a3a9f834ad3fe92770eb69
F test/sharedB.test 16cc7178e20965d75278f410943109b77b2e645e
F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
F test/shell1.test 50154b0c4779df435b9e60ca60104b05f1cc217eab1aa383131359329e73d939
F test/shell1.test 707c03fbd07ac506cfb6fa09da4ee22e2b50453c3db2f404694116eb990168f3
F test/shell2.test e242a9912f44f4c23c3d1d802a83e934e84c853b
F test/shell3.test ac8c2b744014c3e9a0e26bfd829ab65f00923dc1a91ffd044863e9423cc91494
F test/shell4.test 89ad573879a745974ff2df20ff97c5d6ffffbd5d
@ -1730,7 +1730,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 83a60ff056a63f18479030e9dfb10926fbb0d906d51f2cf88233098e15c75534
R 5d16f56d3b58167452434c091fea89d0
P 71f97f0f82b3abfb07feb78d64a182fc50ff396e85d6f5aac479dbf58ba4d00a
R 88b349f4995942bbb83ef8407ed20dc3
U drh
Z 444c916353093e35122e938c5f56cdda
Z 107f8808affc9ffe8154c296896c4113

View File

@ -1 +1 @@
71f97f0f82b3abfb07feb78d64a182fc50ff396e85d6f5aac479dbf58ba4d00a
bb87c054b1b76959e46258ac66b24027f468b390a4148ac67f208a1fbeda4060

View File

@ -2972,6 +2972,7 @@ static int shell_exec(
/* Reprepare pStmt before reactiving trace modes */
sqlite3_finalize(pStmt);
sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
if( pArg ) pArg->pStmt = pStmt;
}
restore_debug_trace_modes();
}

View File

@ -637,6 +637,19 @@ do_test shell1-3.23b.4 {
catchcmd "test.db" ".stats OFF BAD"
} {1 {Usage: .stats ?on|off?}}
# Ticket 7be932dfa60a8a6b3b26bcf7623ec46e0a403ddb 2018-06-07
# Adverse interaction between .stats and .eqp
#
do_test shell1-3.23b.5 {
catchcmd "test.db" [string map {"\n " "\n"} {
CREATE TEMP TABLE t1(x);
INSERT INTO t1 VALUES(1),(2);
.stats on
.eqp full
SELECT * FROM t1;
}]
} {/1\n2\n/}
# .tables ?TABLE? List names of tables
# If TABLE specified, only list tables matching
# LIKE pattern TABLE.