From: drh Date: Thu, 27 Feb 2014 15:04:13 +0000 (+0000) Subject: Add #defines to the command-line shell source code (shell.c) so that it X-Git-Tag: version-3.8.4~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c7181907688fa0d2a2bcabff7f392757e6efab96;p=thirdparty%2Fsqlite.git Add #defines to the command-line shell source code (shell.c) so that it can be imported directly into other projects (ex: Fossil) and used without editing. FossilOrigin-Name: a6690400235705ecc0d1a60dacff6ad5fb1f944a --- diff --git a/manifest b/manifest index 9c72c3971c..7ec2f4b525 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C More\sefficient\sremoval\sof\sduplicates\sin\srecursive\squeries\susing\sthe\sUNION\ncompound\soperator. -D 2014-02-26T21:35:31.484 +C Add\s#defines\sto\sthe\scommand-line\sshell\ssource\scode\s(shell.c)\sso\sthat\sit\ncan\sbe\simported\sdirectly\sinto\sother\sprojects\s(ex:\sFossil)\sand\sused\swithout\s\nediting. +D 2014-02-27T15:04:13.436 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -217,7 +217,7 @@ F src/random.c d10c1f85b6709ca97278428fd5db5bbb9c74eece F src/resolve.c ca8b99d894164435f5c55cb304c1b8121705c51e F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0 F src/select.c 35b07a47fdee9a98e03c4ffb3801026c72114cb7 -F src/shell.c ca2b066ab31793532530e0c2fcf79e99628f3b2b +F src/shell.c 720e79facdae4787e7bfa577dae6b37a685244b0 F src/sqlite.h.in a2ef671f92747a5a1c8a47bad5c585a8dd9eca80 F src/sqlite3.rc 11094cc6a157a028b301a9f06b3d03089ea37c3e F src/sqlite3ext.h 886f5a34de171002ad46fae8c36a7d8051c190fc @@ -1152,7 +1152,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 9c2e7612cd137895e13ee872e668ce1216719d85 -R 8af1befb78d550449f6afe7ccc2f524b +P 06c2db875e6cabd81c2a153b2fa4aba03eaed268 +R b72dc063fb220f3231791c5c73300f82 U drh -Z 54acbfe19bff5d9f12c833489ea306bb +Z d3f85704b6a67858d1c2e6d5e8f9f735 diff --git a/manifest.uuid b/manifest.uuid index b0059e4d9c..03c67c2593 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -06c2db875e6cabd81c2a153b2fa4aba03eaed268 \ No newline at end of file +a6690400235705ecc0d1a60dacff6ad5fb1f944a \ No newline at end of file diff --git a/src/shell.c b/src/shell.c index 7bb8da3e0f..3cd7aaf892 100644 --- a/src/shell.c +++ b/src/shell.c @@ -1008,7 +1008,7 @@ static int run_table_dump_query( int nResult; int i; const char *z; - rc = sqlite3_prepare(p->db, zSelect, -1, &pSelect, 0); + rc = sqlite3_prepare_v2(p->db, zSelect, -1, &pSelect, 0); if( rc!=SQLITE_OK || !pSelect ){ fprintf(p->out, "/**** ERROR: (%d) %s *****/\n", rc, sqlite3_errmsg(p->db)); if( (rc&0xff)!=SQLITE_CORRUPT ) p->nErr++; @@ -1456,7 +1456,7 @@ static int dump_callback(void *pArg, int nArg, char **azArg, char **azCol){ zTableInfo = appendText(zTableInfo, zTable, '"'); zTableInfo = appendText(zTableInfo, ");", 0); - rc = sqlite3_prepare(p->db, zTableInfo, -1, &pTableInfo, 0); + rc = sqlite3_prepare_v2(p->db, zTableInfo, -1, &pTableInfo, 0); free(zTableInfo); if( rc!=SQLITE_OK || !pTableInfo ){ return 1; @@ -2399,7 +2399,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ return 1; } nByte = strlen30(zSql); - rc = sqlite3_prepare(p->db, zSql, -1, &pStmt, 0); + rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); if( rc && sqlite3_strglob("no such table: *", sqlite3_errmsg(db))==0 ){ char *zCreate = sqlite3_mprintf("CREATE TABLE %s", zTable); char cSep = '('; @@ -2425,7 +2425,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ xCloser(sCsv.in); return 1; } - rc = sqlite3_prepare(p->db, zSql, -1, &pStmt, 0); + rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); } sqlite3_free(zSql); if( rc ){ @@ -2452,7 +2452,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){ } zSql[j++] = ')'; zSql[j] = 0; - rc = sqlite3_prepare(p->db, zSql, -1, &pStmt, 0); + rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); sqlite3_free(zSql); if( rc ){ fprintf(stderr, "Error: %s\n", sqlite3_errmsg(db)); @@ -3548,11 +3548,13 @@ int main(int argc, char **argv){ int rc = 0; int warnInmemoryDb = 0; +#if !defined(USE_SYSTEM_SQLITE) || USE_SYSTEM_SQLITE!=1 if( strcmp(sqlite3_sourceid(),SQLITE_SOURCE_ID)!=0 ){ fprintf(stderr, "SQLite header and source version mismatch\n%s\n%s\n", sqlite3_sourceid(), SQLITE_SOURCE_ID); exit(1); } +#endif Argv0 = argv[0]; main_init(&data); stdin_is_interactive = isatty(0); @@ -3645,6 +3647,11 @@ int main(int argc, char **argv){ #else fprintf(stderr,"%s: Error: no database filename specified\n", Argv0); return 1; +#endif +#ifdef SQLITE_SHELL_DBNAME_PROC + { extern void SQLITE_SHELL_DBNAME_PROC(const char**); + SQLITE_SHELL_DBNAME_PROC(&data.zDbFilename); + warnInmemoryDb = 0; } #endif } data.out = stdout;