From: drh <> Date: Tue, 7 Jul 2026 13:24:23 +0000 (+0000) Subject: Corrections to the mode matrix in the CLI X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7c90f027675a515266d1e50956c87c140ad41cb8;p=thirdparty%2Fsqlite.git Corrections to the mode matrix in the CLI FossilOrigin-Name: 0bca30616566d196d3cb4da1684feaf54bb38e304f4393ace322fc48c0a2f540 --- diff --git a/manifest b/manifest index 71c78b9d9a..4318122f7f 100644 --- 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. diff --git a/manifest.uuid b/manifest.uuid index a759b6614d..cdf81d1e16 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -bc5fb05aa6e8c819cb2c45ea96538b82b5b9c21058ddf685e84d50b183656578 +0bca30616566d196d3cb4da1684feaf54bb38e304f4393ace322fc48c0a2f540 diff --git a/src/shell.c.in b/src/shell.c.in index 5536ab32fc..6c829236cc 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -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_USERnSavedModes ){ 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");