]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Corrections to the mode matrix in the CLI psql-mode
authordrh <>
Tue, 7 Jul 2026 13:24:23 +0000 (13:24 +0000)
committerdrh <>
Tue, 7 Jul 2026 13:24:23 +0000 (13:24 +0000)
FossilOrigin-Name: 0bca30616566d196d3cb4da1684feaf54bb38e304f4393ace322fc48c0a2f540

manifest
manifest.uuid
src/shell.c.in

index 71c78b9d9a6d1a384e72c150e8fdb01cd2725672..4318122f7f4b0baa341703b31f3193a9727e00ff 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sproblem\swith\s--rowcount\sfound\sby\sClaude\sin\scode\sreview.
-D 2026-07-07T13:16:30.966
+C Corrections\sto\sthe\smode\smatrix\sin\sthe\sCLI
+D 2026-07-07T13:24:23.048
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -743,7 +743,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c 54395ee97eb710e695202d4112cf2b1c1c7767a57afcea745df71abb1c917768
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
 F src/select.c f553420eaf5c72a49cef786621eea79dd8c4411671839fb05250bb49ca74a0a0
-F src/shell.c.in c6ec9326fff4986734aa00d5aa38d4cf486f651a6765aceb04e30cda580d0810
+F src/shell.c.in 057cabda53ac4bf9fbe5770f7e9f51407a84c47bbc7934dde6bf6c45d286c0f9
 F src/sqlite.h.in d9ec41feb4cd804e68b174328b43beb3f1f71bba13e1c7a439efb826d301cccc
 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
 F src/sqlite3ext.h 0efd4723bad9124ea1f581d9f1ea0254ac1c6f3e5fb29e4f3dcf36c72485a456
@@ -2213,8 +2213,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
 F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P a102d28fca6376da670b274d3d733da2c73da9abe3e7128defd04b4015b03a48
-R a824f55618dbf41f9e2608eae518e831
+P bc5fb05aa6e8c819cb2c45ea96538b82b5b9c21058ddf685e84d50b183656578
+R 8d6db5c23ea14c5abe436bb82a7f1dab
 U drh
-Z 69608c4abf2d44b478abd4902c004d06
+Z 7f0182904c1eb6a07f8674ae30fa63cb
 # Remove this line to create a well-formed Fossil manifest.
index a759b6614d869f4c199a74529b888e79c10dc9f6..cdf81d1e161552dbe874232129d30d4b81f4c64f 100644 (file)
@@ -1 +1 @@
-bc5fb05aa6e8c819cb2c45ea96538b82b5b9c21058ddf685e84d50b183656578
+0bca30616566d196d3cb4da1684feaf54bb38e304f4393ace322fc48c0a2f540
index 5536ab32fc17dd52425eff7b5439857fa68bce13..6c829236cc7bdb1db80fcc4ec39ce9585413e38c 100644 (file)
@@ -567,7 +567,7 @@ struct ModeInfo {
   unsigned char bHdr;    /* Show headers by default.  0: n/a, 1: no 2: yes */
   unsigned char eStyle;  /* Underlying QRF style */
   unsigned char eCx;     /* 0: other, 1: line, 2: columnar */
-  unsigned char mFlg;    /* Flags. 1=border-off 2=split-column */
+  unsigned char mFlg;    /* Flags. 1=border-off 2=split-column 4=rowcount */
 };
 
 /* String constants used by built-in modes */
@@ -594,7 +594,7 @@ static const ModeInfo aModeInfo[] = {
   { "list",     2,     1,    9,    1,    1,    0,   1,   12,    0,  0 },
   { "markdown", 0,     0,    9,    1,    1,    0,   2,   13,    2,  0 },
   { "off",      0,     0,    0,    0,    0,    0,   0,   14,    0,  0 },
-  { "psql",     0,     0,    9,    1,    1,    0,   3,   19,    2,  1 },
+  { "psql",     0,     0,    9,    1,    1,    0,   3,   19,    2,  5 },
   { "qbox",     0,     0,    10,   2,    1,    0,   2,   1,     2,  0 },
   { "quote",    4,     1,    10,   2,    2,    0,   1,   12,    0,  0 },
   { "split",    0,     0,    9,    1,    1,    0,   1,   2,     2,  2 },
@@ -612,9 +612,9 @@ static const ModeInfo aModeInfo[] = {
        **      0: n/a                blob |   v-----'                    /
        **      1: plain        v----------'   0: n/a           _________/
        **      2: sql          0: auto        1: no           |
-       **      3: csv          1: as-text     2: yes          1: border-off +
-       **      4: html         2: sql         3: always          title-always
-       **      5: c            3: hex                         2: split-column
+       **      3: csv          1: as-text     2: yes          1: border-off
+       **      4: html         2: sql         3: always       2: split-column
+       **      5: c            3: hex                         4: rowcount
        **      6: json         4: c
        **                      5: json
        **                      6: size
@@ -2162,10 +2162,8 @@ static void modeChange(ShellState *p, unsigned char eMode){
     pM->spec.eTitle = pI->eHdr;
     if( pI->mFlg & 0x01 ){
       pM->spec.bBorder = QRF_No;
-      pM->spec.bRowCount = QRF_Yes;
     }else{
       pM->spec.bBorder = QRF_Auto;
-      pM->spec.bRowCount = QRF_No;
     }
     if( pI->mFlg & 0x02 ){
       pM->spec.bSplitColumn = QRF_Yes;
@@ -2173,6 +2171,11 @@ static void modeChange(ShellState *p, unsigned char eMode){
     }else{
       pM->spec.bSplitColumn = QRF_No;
     }
+    if( pI->mFlg & 0x04 ){
+      pM->spec.bRowCount = QRF_Yes;
+    }else{
+      pM->spec.bRowCount = QRF_No;
+    }
   }else if( eMode>=MODE_USER && eMode-MODE_USER<p->nSavedModes ){
     modeFree(&p->mode);
     modeDup(&p->mode, &p->aSavedModes[eMode-MODE_USER].mode);
@@ -9135,7 +9138,7 @@ static int dotCmdMode(ShellState *p){
       sqlite3_str_appendf(pDesc," --quote %s",qrfQuoteNames[p->mode.spec.eText]);
     }
     if( bAll 
-     || ((p->mode.spec.bRowCount==QRF_Yes) != ((pI->mFlg&1)!=0))
+     || ((p->mode.spec.bRowCount==QRF_Yes) != ((pI->mFlg&4)!=0))
     ){
       sqlite3_str_appendf(pDesc," --rowcount %s",
              p->mode.spec.bRowCount==QRF_Yes ? "on" : "off");