From: drh Date: Mon, 1 Jan 2018 20:11:23 +0000 (+0000) Subject: Minor simplification to the ".schema" logic in the command-line shell. X-Git-Tag: version-3.22.0~122 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c22b716e316af27b96e3717bd350c828841319b1;p=thirdparty%2Fsqlite.git Minor simplification to the ".schema" logic in the command-line shell. FossilOrigin-Name: add45c47288248ca3745e0fceb5e0d9062a852d173d93ff2ff1a0f8fdf3237dc --- diff --git a/manifest b/manifest index aede5dedf5..ac3df26d19 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Enable\sthe\sintrospection\spragmas\sfor\scommand-line\sshell\sbuilds. -D 2018-01-01T19:33:12.194 +C Minor\ssimplification\sto\sthe\s".schema"\slogic\sin\sthe\scommand-line\sshell. +D 2018-01-01T20:11:23.297 F Makefile.in 1b11037c5ed3399a79433cc82c59b5e36a7b3a3e4e195bb27640d0d2145e03e1 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc f68b4f9b83cfeb057b6265e0288ad653f319e2ceacca731e0f22e19617829a89 @@ -479,7 +479,7 @@ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c bbee7e31d369a18a2f4836644769882e9c5d40ef4a3af911db06410b65cb3730 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac F src/select.c 8b22abe193e4d8243befa2038e4ae2405802fed1c446e5e502d11f652e09ba74 -F src/shell.c.in f3ec8f90dd698ea98781a90642c91eacbc24f4e55bb551c7b2762000d3ef55dc +F src/shell.c.in a3f30523bbf436e886831c9f867419edb957dec60a2b5d70d2a071298206e37d F src/sqlite.h.in b4dc75265ed04b98e2184011a7dd0054ce2137ff84867a6be8b4f3bdfbc03d30 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h c02d628cca67f3889c689d82d25c3eb45e2c155db08e4c6089b5840d64687d34 @@ -1688,7 +1688,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 4f1f1f521ae6da96b899e10bfeff6bc1ab7a45de0705076febaae20b441f48c6 -R c9a22e6c8d8b0c74afd8179337182631 +P 0b04223f256f5c1e06fa6e899727815ebf650f2dfcf8f36d6cbfb6cb62d4ead8 +R 2690a690f31be0b2523230103d44d965 U drh -Z ad901b13942be312e9eb272912737269 +Z 17d3ed202c106ebc7057d8eede16f971 diff --git a/manifest.uuid b/manifest.uuid index 86076c7330..953c3c5663 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0b04223f256f5c1e06fa6e899727815ebf650f2dfcf8f36d6cbfb6cb62d4ead8 \ No newline at end of file +add45c47288248ca3745e0fceb5e0d9062a852d173d93ff2ff1a0f8fdf3237dc \ No newline at end of file diff --git a/src/shell.c.in b/src/shell.c.in index 155ca708a5..7b994336ea 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -5334,33 +5334,23 @@ static int do_meta_command(char *zLine, ShellState *p){ if( nArg==2 && azArg[1][0]!='-' ){ int i; for(i=0; azArg[1][i]; i++) azArg[1][i] = ToLower(azArg[1][i]); - if( strcmp(azArg[1],"sqlite_master")==0 ){ - char *new_argv[2], *new_colv[2]; - new_argv[0] = "CREATE TABLE sqlite_master (\n" - " type text,\n" - " name text,\n" - " tbl_name text,\n" - " rootpage integer,\n" - " sql text\n" - ")"; - new_argv[1] = 0; - new_colv[0] = "sql"; - new_colv[1] = 0; - callback(&data, 1, new_argv, new_colv); - rc = SQLITE_OK; - }else if( strcmp(azArg[1],"sqlite_temp_master")==0 ){ + if( strcmp(azArg[1],"sqlite_master")==0 + || strcmp(azArg[1],"sqlite_temp_master")==0 + ){ char *new_argv[2], *new_colv[2]; - new_argv[0] = "CREATE TEMP TABLE sqlite_temp_master (\n" + new_argv[0] = sqlite3_mprintf( + "CREATE TABLE %s (\n" " type text,\n" " name text,\n" " tbl_name text,\n" " rootpage integer,\n" " sql text\n" - ")"; + ")", azArg[1]); new_argv[1] = 0; new_colv[0] = "sql"; new_colv[1] = 0; callback(&data, 1, new_argv, new_colv); + sqlite3_free(new_argv[0]); rc = SQLITE_OK; }else{ zDiv = "(";