]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change .echo on effect so that SQL is echoed before prepare. This slightly alters...
authorlarrybr <larrybr@noemail.net>
Wed, 11 May 2022 19:59:31 +0000 (19:59 +0000)
committerlarrybr <larrybr@noemail.net>
Wed, 11 May 2022 19:59:31 +0000 (19:59 +0000)
FossilOrigin-Name: c1eff632c41809214edea2850a93852fff66da3ca0dc393e8fe55e0976d422fd

1  2 
manifest
manifest.uuid
src/shell.c.in
test/shell2.test

diff --cc manifest
index e13b717e7cd5d6da486fabe0f5814c2d97bf338e,ff7b3d4e4a38ff7126c3f1f530567543c2793a91..95eb715273e49fe900cf2f582e6532417bc5700e
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Fix\sa\sstale\srequirement\smark.
- D 2022-05-10T17:42:55.876
 -C The\sunix\sinterface\snow\sresolves\sall\ssymbolic\slinks\sin\sfilenames\sbefore\nactually\susing\sthose\sfilenames.
 -D 2022-05-11T17:57:43.566
++C Change\s.echo\son\seffect\sso\sthat\sSQL\sis\sechoed\sbefore\sprepare.\sThis\sslightly\salters\sechoed\soutput\swhen\smultiple\sSQL\sstatements\sare\ssubmitted\sat\sonce.\sAlso\ssync\swith\strunk.
++D 2022-05-11T19:59:31.774
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@@ -553,8 -553,8 +553,8 @@@ F src/printf.c 512574910a45341c8ad244bd
  F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c
  F src/resolve.c e9ee235c4151d2b7fa47435a219bfd30bf516a804d2f004639858087ebf3137b
  F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
- F src/select.c cd17de0cab436f0efc4cfeeeef1b8e03c41c40335ec757eff68e341e6a3f763f
- F src/shell.c.in af2e55dbd1b3d1ea5b8c677f815ec8180aefef22299996f8ae64090d02d51aca
+ F src/select.c 5096a2e8ab0511a413e7f5e45453fea4102d99c5636c46792581ae67899a76d7
 -F src/shell.c.in 0ad33896c3e79a9578c507c8f0589290cbc98b0af1f31ca0cf8ddbb7601e60ef
++F src/shell.c.in cf90e67622f3d1a1874a4080ac1ab6b9393a09ca4cf7d820b45a62ff2429a6c0
  F src/sqlite.h.in 2a35f62185eb5e7ecc64a2f68442b538ce9be74f80f28a00abc24837edcf1c17
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h f49e28c25bd941e79794db5415fdf7b202deb3bc072ed6f1ed273d578703684e
@@@ -1397,14 -1397,14 +1397,14 @@@ F test/sharedA.test 49d87ec54ab640fbbc3
  F test/sharedB.test 16cc7178e20965d75278f410943109b77b2e645e
  F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
  F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
- F test/shell1.test eb2a7b768a1a20d70a8a205b11a8e3fd94b7f8d98d45aa9fb90433202609b0c3
- F test/shell2.test 7a3a23a9f57b99453f1679b1fe8072cb30e382a622874c0c4d97695fadb0a787
- F test/shell3.test a50628ab1d78d90889d9d3f32fb2c084ee15674771e96afe954aaa0accd1de3c
- F test/shell4.test 8f6c0fce4abed19a8a7f7262517149812a04caa905d01bdc8f5e92573504b759
- F test/shell5.test 78a7a8516b1e7de560748881424f621321549023d3e5f7ed2e1c56497f64c06c
+ F test/shell1.test e4b4de56f454708e0747b52915135baa2cbfec4965406d6eaf02a4a5c22a9880
 -F test/shell2.test 7a3a23a9f57b99453f1679b1fe8072cb30e382a622874c0c4d97695fadb0a787
++F test/shell2.test c536c2aab4852608f8a606262330797abc4d964a4c2c782a7760f54ea1f17a6a
+ F test/shell3.test 91febeac0412812bf6370abb8ed72700e32bf8f9878849414518f662dfd55e8a
+ F test/shell4.test 7dc8a515705bc093d8ffe381670e8fa7a969661e8ed177c35c847e3c6dfc35e2
+ F test/shell5.test c8b6c54f26ec537f8558273d7ed293ca3725ef42e6b12b8f151718628bd1473b
  F test/shell6.test 1ceb51b2678c472ba6cf1e5da96679ce8347889fe2c3bf93a0e0fa73f00b00d3
  F test/shell7.test 115132f66d0463417f408562cc2cf534f6bbc6d83a6d50f0072a9eb171bae97f
- F test/shell8.test 388471d16e4de767333107e30653983f186232c0e863f4490bb230419e830aae
+ F test/shell8.test 3fd093d481aaa94dc77fb73f1044c1f19c7efe3477a395cc4f7450133bc54915
  F test/shmlock.test 3dbf017d34ab0c60abe6a44e447d3552154bd0c87b41eaf5ceacd408dd13fda5
  F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3
  F test/show_speedtest1_rtree.tcl 32e6c5f073d7426148a6936a0408f4b5b169aba5
@@@ -1953,8 -1953,9 +1953,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P b7285f92bb9bfd8471e51ee5b6dbd7030b1f731683876e8ecca4a8c033688736
- R 72fca0ee51c12a7f90dd5313ccb28616
 -P df842ebc796a2b0c913d19d873e88d048808dc5283465271369e302a680317e4 c3da4c1611cebd9f9d695892a3ffddc47d5f0db1a1ea8bd2b4f83ef7673b68de
 -R 692b7f3944f60c275f9ba394269455ca
 -T +closed c3da4c1611cebd9f9d695892a3ffddc47d5f0db1a1ea8bd2b4f83ef7673b68de
--U drh
- Z 747367051d653b31d41a6b7e7bda4d15
 -Z 68d76aedfae717687d8131de0b7511d9
++P 3eda4030f73384abf18b97cd8a4606e10b23e382d1b72dff7526aebfde23e0af d55273e36e312336b8fc77dc771657d3b2c3437fbbd79f3be37701982560d634
++R aa68945421e08aa1a970b0abab882c1b
++U larrybr
++Z c1c6d0984d4c87f2c4cc513f1bf72524
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index a070db8f67ddf533490bf2d1dc4a76b795d593ab,59c831a63a688193af242cdf81772bef3e595bf5..867849108df593d22efd975a8d65ea43c437fa2c
@@@ -1,1 -1,1 +1,1 @@@
- 3eda4030f73384abf18b97cd8a4606e10b23e382d1b72dff7526aebfde23e0af
 -d55273e36e312336b8fc77dc771657d3b2c3437fbbd79f3be37701982560d634
++c1eff632c41809214edea2850a93852fff66da3ca0dc393e8fe55e0976d422fd
diff --cc src/shell.c.in
index 1f446cadb9c2c142c252210007d6daf4d4f0e687,1c22103f84531b37adfb808dc99fa006d4dd31d9..e560b0648189f1739d314d7bd567f973596aab24
@@@ -1191,11 -1191,10 +1191,10 @@@ struct ShellState 
  #define SHFLG_PreserveRowid  0x00000008 /* .dump preserves rowid values */
  #define SHFLG_Newlines       0x00000010 /* .dump --newline flag */
  #define SHFLG_CountChanges   0x00000020 /* .changes setting */
 -#define SHFLG_Echo           0x00000040 /* .echo or --echo setting */
 +#define SHFLG_Echo           0x00000040 /* .echo on/off, or --echo setting */
- #define SHFLG_EchoSql        0x00000080 /* .echo sql, before prepare */
- #define SHFLG_HeaderSet      0x00000100 /* showHeader has been specified */
- #define SHFLG_DumpDataOnly   0x00000200 /* .dump show data only */
- #define SHFLG_DumpNoSys      0x00000400 /* .dump omits system tables */
+ #define SHFLG_HeaderSet      0x00000080 /* showHeader has been specified */
+ #define SHFLG_DumpDataOnly   0x00000100 /* .dump show data only */
+ #define SHFLG_DumpNoSys      0x00000200 /* .dump omits system tables */
  
  /*
  ** Macros for testing and setting shellFlgs
@@@ -3826,10 -3820,11 +3820,6 @@@ static int shell_exec
          pArg->cnt = 0;
        }
  
--      /* echo the sql statement if echo on */
--      if( pArg && ShellHasFlag(pArg, SHFLG_Echo) ){
--        utf8_printf(pArg->out, "%s\n", zStmtSql ? zStmtSql : zSql);
--      }
 -
        /* Show the EXPLAIN QUERY PLAN if .eqp is on */
        if( pArg && pArg->autoEQP && sqlite3_stmt_isexplain(pStmt)==0 ){
          sqlite3_stmt *pExplain;
@@@ -8442,8 -8437,8 +8432,8 @@@ static int do_meta_command(char *zLine
      int i;
      int savedShowHeader = p->showHeader;
      int savedShellFlags = p->shellFlgs;
 -    ShellClearFlag(p, 
 +    ShellClearFlag(p,
-        SHFLG_PreserveRowid|SHFLG_Newlines|SHFLG_Echo|SHFLG_EchoSql
+        SHFLG_PreserveRowid|SHFLG_Newlines|SHFLG_Echo
         |SHFLG_DumpDataOnly|SHFLG_DumpNoSys);
      for(i=1; i<nArg; i++){
        if( azArg[i][0]=='-' ){
        goto meta_command_exit;
      }
      utf8_printf(p->out, "%12.12s: %s\n","echo",
-                 (ShellHasFlag(p, SHFLG_EchoSql))
-                 ? "sql" : azBool[ShellHasFlag(p, SHFLG_Echo)]);
 -                                  azBool[ShellHasFlag(p, SHFLG_Echo)]);
++                azBool[ShellHasFlag(p, SHFLG_Echo)]);
      utf8_printf(p->out, "%12.12s: %s\n","eqp", azBool[p->autoEQP&3]);
      utf8_printf(p->out, "%12.12s: %s\n","explain",
           p->mode==MODE_Explain ? "on" : p->autoExplain ? "auto" : "off");
@@@ -11488,6 -11469,6 +11464,9 @@@ static int runOneSqlLine(ShellState *p
    return 0;
  }
  
++static void echo_group_input(ShellState *p, const char *zDo){
++  if( ShellHasFlag(p, SHFLG_Echo) ) utf8_printf(p->out, "%s\n", zDo);
++}
  
  /*
  ** Read input from *in and process it.  If *in==0 then input
@@@ -11537,14 -11518,14 +11516,13 @@@ static int process_input(ShellState *p)
      }
      qss = quickscan(zLine, qss);
      if( QSS_PLAINWHITE(qss) && nSql==0 ){
--      if( ShellHasFlag(p, SHFLG_Echo) )
--        printf("%s\n", zLine);
        /* Just swallow single-line whitespace */
++      echo_group_input(p, zLine);
        qss = QSS_Start;
        continue;
      }
      if( zLine && (zLine[0]=='.' || zLine[0]=='#') && nSql==0 ){
--      if( ShellHasFlag(p, SHFLG_Echo) ) printf("%s\n", zLine);
++      echo_group_input(p, zLine);
        if( zLine[0]=='.' ){
          rc = do_meta_command(zLine, p);
          if( rc==2 ){ /* exit requested */
        nSql += nLine;
      }
      if( nSql && QSS_SEMITERM(qss) && sqlite3_complete(zSql) ){
++      echo_group_input(p, zSql);
        errCnt += runOneSqlLine(p, zSql, p->in, startline);
        nSql = 0;
        if( p->outCount ){
        p->bSafeMode = p->bSafeModePersist;
        qss = QSS_Start;
      }else if( nSql && QSS_PLAINWHITE(qss) ){
--      if( ShellHasFlag(p, SHFLG_Echo) ) printf("%s\n", zSql);
++      echo_group_input(p, zSql);
        nSql = 0;
        qss = QSS_Start;
      }
    }
    if( nSql ){
      /* This may be incomplete. Let the SQL parser deal with that. */
++    echo_group_input(p, zSql);
      errCnt += runOneSqlLine(p, zSql, p->in, startline);
    }
    free(zSql);
index 29712c7f0742c5b2d5c3d5ee8944204db2a8c1eb,29712c7f0742c5b2d5c3d5ee8944204db2a8c1eb..2237404e5a314b82765e21f1ed49e847a51060f3
@@@ -136,16 -136,16 +136,13 @@@ SELECT * FROM foo1; SELECT * FROM foo2
  INSERT INTO foo1(a) VALUES(1);
  CREATE TABLE foo2(b);
  INSERT INTO foo2(b) VALUES(1);
--SELECT * FROM foo1;
++SELECT * FROM foo1; SELECT * FROM foo2;
  1
--SELECT * FROM foo2;
  1
--INSERT INTO foo1(a) VALUES(2);
--INSERT INTO foo2(b) VALUES(2);
--SELECT * FROM foo1;
++INSERT INTO foo1(a) VALUES(2); INSERT INTO foo2(b) VALUES(2);
++SELECT * FROM foo1; SELECT * FROM foo2;
  1
  2
--SELECT * FROM foo2;
  1
  2
  }}
@@@ -170,19 -170,19 +167,16 @@@ CREATE TABLE foo1(a)
  INSERT INTO foo1(a) VALUES(1);
  CREATE TABLE foo2(b);
  INSERT INTO foo2(b) VALUES(1);
--SELECT * FROM foo1;
++SELECT * FROM foo1; SELECT * FROM foo2;
  a
  1
--SELECT * FROM foo2;
  b
  1
--INSERT INTO foo1(a) VALUES(2);
--INSERT INTO foo2(b) VALUES(2);
--SELECT * FROM foo1;
++INSERT INTO foo1(a) VALUES(2); INSERT INTO foo2(b) VALUES(2);
++SELECT * FROM foo1; SELECT * FROM foo2;
  a
  1
  2
--SELECT * FROM foo2;
  b
  1
  2