From: drh <> Date: Tue, 30 Sep 2025 19:11:00 +0000 (+0000) Subject: Enable the CLI to be compiled with SQLITE_OMIT_AUTHORIZATION. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4af7048aeb8970332a3d7d77625bbaf363db645e;p=thirdparty%2Fsqlite.git Enable the CLI to be compiled with SQLITE_OMIT_AUTHORIZATION. FossilOrigin-Name: afb2feb38043fef3c286030f9d1238c132f338e54233f2e4655323b388455c72 --- diff --git a/manifest b/manifest index 7310d18d72..bd7f43638a 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\svarious\scompiler\swarnings. -D 2025-09-30T17:37:18.765 +C Enable\sthe\sCLI\sto\sbe\scompiled\swith\sSQLITE_OMIT_AUTHORIZATION. +D 2025-09-30T19:11:00.195 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -737,7 +737,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c f8d1d011aba0964ff1bdccd049d4d2c2fec217efd90d202a4bb775e926b2c25d F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c b95181711d59c36d9789e67f76c4cfec64b99f9629a50be5e6566e117b87d957 -F src/shell.c.in 0f348e74cc2ca549e9ae8a1ff8cda632a9c81ae0ae4ad5ad6ba7c2bfcb60d52b +F src/shell.c.in e9042383a072e2ec8f85f326f8e154f9c788183b7a851b4402c2d9e1e8508372 F src/sqlite.h.in 5732519a2acb09066032ceac21f25996eb3f28f807a4468e30633c7c70faae1c F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 3f0c4ed6934e7309a61c6f3c30f70a30a5b869f785bb3d9f721a36c5e4359126 @@ -2169,8 +2169,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P b059413c440d1b831c9a462f7165a350001ba7a8cc77ca2a0a8f2bb73c830aba -R 605f4277fee1edec4ffd527ff3a4feb4 +P 24ee6c25b4745c8fd671d845b48b9ab98a787ccb348d560ad70f19d035e7990e +R 862c34b03180ba76c25e4a2e5f7e007e U drh -Z ece63ae6434d191109c1fb639d6e1e2d +Z 016b04b51188121692a1619ad13c9e26 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index a689bbf7b4..f61e672525 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -24ee6c25b4745c8fd671d845b48b9ab98a787ccb348d560ad70f19d035e7990e +afb2feb38043fef3c286030f9d1238c132f338e54233f2e4655323b388455c72 diff --git a/src/shell.c.in b/src/shell.c.in index f6866b1dd7..2f414bea9c 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -1418,8 +1418,10 @@ INCLUDE ../ext/misc/appendvfs.c INCLUDE ../ext/misc/zipfile.c INCLUDE ../ext/misc/sqlar.c #endif +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) INCLUDE ../ext/expert/sqlite3expert.h INCLUDE ../ext/expert/sqlite3expert.c +#endif INCLUDE ../ext/intck/sqlite3intck.h INCLUDE ../ext/intck/sqlite3intck.c INCLUDE ../ext/misc/stmtrand.c @@ -1454,11 +1456,13 @@ struct OpenSession { }; #endif +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) typedef struct ExpertInfo ExpertInfo; struct ExpertInfo { sqlite3expert *pExpert; int bVerbose; }; +#endif /* A single line in the EQP output */ typedef struct EQPGraphRow EQPGraphRow; @@ -1562,7 +1566,9 @@ struct ShellState { int iIndent; /* Index of current op in aiIndent[] */ char *zNonce; /* Nonce for temporary safe-mode escapes */ EQPGraph sGraph; /* Information for the graphical EXPLAIN QUERY PLAN */ +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) ExpertInfo expert; /* Valid if previous command was ".expert OPT..." */ +#endif #ifdef SQLITE_SHELL_FIDDLE struct { const char * zInput; /* Input string from wasm/JS proxy */ @@ -4499,7 +4505,7 @@ static void exec_prepared_stmt( } } -#ifndef SQLITE_OMIT_VIRTUALTABLE +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) /* ** This function is called to process SQL if the previous shell command ** was ".expert". It passes the SQL in the second argument directly to @@ -4631,7 +4637,7 @@ static int expertDotCommand( return rc; } -#endif /* ifndef SQLITE_OMIT_VIRTUALTABLE */ +#endif /* !SQLITE_OMIT_VIRTUALTABLE && !SQLITE_OMIT_AUTHORIZATION */ /* ** Execute a statement or set of statements. Print @@ -4657,7 +4663,7 @@ static int shell_exec( *pzErrMsg = NULL; } -#ifndef SQLITE_OMIT_VIRTUALTABLE +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) if( pArg->expert.pExpert ){ rc = expertHandleSQL(pArg, zSql, pzErrMsg); return expertFinish(pArg, (rc!=SQLITE_OK), pzErrMsg); @@ -5163,7 +5169,9 @@ static const char *(azHelp[]) = { #ifndef SQLITE_SHELL_FIDDLE ".exit ?CODE? Exit this program with return-code CODE", #endif +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) ".expert EXPERIMENTAL. Suggest indexes for queries", +#endif ".explain ?on|off|auto? Change the EXPLAIN formatting mode. Default: auto", ".filectrl CMD ... Run various sqlite3_file_control() operations", " --schema SCHEMA Use SCHEMA instead of \"main\"", @@ -5962,9 +5970,11 @@ static void open_db(ShellState *p, int openFlags){ #endif } if( p->db!=0 ){ +#ifndef SQLITE_OMIT_AUTHORIZATION if( p->bSafeModePersist ){ sqlite3_set_authorizer(p->db, safeModeAuth, p); } +#endif sqlite3_db_config( p->db, SQLITE_DBCONFIG_STMT_SCANSTATUS, p->scanstatsOn, (int*)0 ); @@ -8631,7 +8641,7 @@ static int do_meta_command(char *zLine, ShellState *p){ int rc = 0; char *azArg[52]; -#ifndef SQLITE_OMIT_VIRTUALTABLE +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) if( p->expert.pExpert ){ expertFinish(p, 1, 0); } @@ -9200,7 +9210,7 @@ static int do_meta_command(char *zLine, ShellState *p){ } }else -#ifndef SQLITE_OMIT_VIRTUALTABLE +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) if( c=='e' && cli_strncmp(azArg[0], "expert", n)==0 ){ if( p->bSafeMode ){ sqlite3_fprintf(stderr, @@ -13728,7 +13738,7 @@ int SQLITE_CDECL wmain(int argc, wchar_t **wargv){ #ifndef SQLITE_SHELL_FIDDLE /* In WASM mode we have to leave the db state in place so that ** client code can "push" SQL into it after this call returns. */ -#ifndef SQLITE_OMIT_VIRTUALTABLE +#if !defined(SQLITE_OMIT_VIRTUALTABLE) && !defined(SQLITE_OMIT_AUTHORIZATION) if( data.expert.pExpert ){ expertFinish(&data, 1, 0); }