From: drh <> Date: Sun, 16 Nov 2025 10:49:51 +0000 (+0000) Subject: Fix a long-standing bug in .schema when the argument contains a ".". X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e20406040a0fff03ad0ea1e30ece2d202c40497e;p=thirdparty%2Fsqlite.git Fix a long-standing bug in .schema when the argument contains a ".". FossilOrigin-Name: 404576214fc20161cdcb031d57696d6068506309c8faecd3e4424e5ced28046b --- diff --git a/manifest b/manifest index 359cd72211..4683d2153d 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\swith\sthe\snew\scommand-line\sparsing\sin\sthe\sCLI. -D 2025-11-16T02:32:06.514 +C Fix\sa\slong-standing\sbug\sin\s.schema\swhen\sthe\sargument\scontains\sa\s".". +D 2025-11-16T10:49:51.306 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -735,7 +735,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 5616fbcf3b833c7c705b24371828215ad0925d0c0073216c4f153348d5753f0a F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c ba9cd07ffa3277883c1986085f6ddc4320f4d35d5f212ab58df79a7ecc1a576a -F src/shell.c.in d5061f93c48631db375f840d5a2f285721d5fa199a20b1502123992f933aadb5 +F src/shell.c.in c1606803c02f9dafc6c9644712be88b8f50cf267fd82c7085f8339de6a158a66 F src/sqlite.h.in 795ce84cc136b4e74d882cf4fab56d2927c20b9af9fd2fcea27760a6fe50851b F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 5d5330f5f8461f5ce74960436ddcfa53ecd09c2b8b23901e22ae38aec3243998 @@ -2176,8 +2176,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P eacc9db80de8baa878ebdc3a054538c8998db9a2e46720c0d8b109d62a0cac29 -R 450d5c3fe2f33369a4fbfa48f61bccbe +P 3e02804c387c89afde59eef8e464c6011e083e158873e4f8ab1f17bcc12b7c28 +R 01873a3f151ad28aeba6a62a8ffe1131 U drh -Z ba61afd99c07012ae48b06245fa4f0b1 +Z 08514ae94b4a719d2cf12e9dff1abcec # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index ea82fadf49..372a106253 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3e02804c387c89afde59eef8e464c6011e083e158873e4f8ab1f17bcc12b7c28 +404576214fc20161cdcb031d57696d6068506309c8faecd3e4424e5ced28046b diff --git a/src/shell.c.in b/src/shell.c.in index ba7a4f4e5d..16bd8b4922 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -10011,10 +10011,9 @@ static int do_meta_command(const char *zLine, ShellState *p){ sqlite3_finalize(pStmt); #ifndef SQLITE_OMIT_INTROSPECTION_PRAGMAS if( zName ){ - sqlite3_str_appendf(pSql, + sqlite3_str_appendall(pSql, " UNION ALL SELECT shell_module_schema(name)," - " 'table', name, name, name, 9e+99, 'main' FROM pragma_module_list", - 0); + " 'table', name, name, name, 9e+99, 'main' FROM pragma_module_list"); } #endif sqlite3_str_appendf(pSql, ") WHERE ", 0); @@ -10023,9 +10022,9 @@ static int do_meta_command(const char *zLine, ShellState *p){ bGlob = strchr(zName, '*') != 0 || strchr(zName, '?') != 0 || strchr(zName, '[') != 0; if( strchr(zName, '.') ){ - sqlite3_str_appendf(pSql, "lower(format('%s.%s',sname,tbl_name))", 0); + sqlite3_str_appendall(pSql, "lower(format('%%s.%%s',sname,tbl_name))"); }else{ - sqlite3_str_appendf(pSql, "lower(tbl_name)", 0); + sqlite3_str_appendall(pSql, "lower(tbl_name)"); } if( bGlob ){ sqlite3_str_appendf(pSql, " GLOB %Q AND ", zName);