From d8f6cc7ea400c3b71cc1d72c1b900206cc009329 Mon Sep 17 00:00:00 2001 From: drh <> Date: Sat, 13 Jun 2026 18:04:18 +0000 Subject: [PATCH] Make the --header option to the CLI sticky, so that it does not get turned off by subsequence --csv or similar mode change options. [bugs:/info/2026-06-13T11:49:18Z|Bug 2026-06-13T11:49:18Z] FossilOrigin-Name: b19cef1862444ee694eeea2254aa9a8d74d2343da5a8257c22e3068f388aa2fd --- manifest | 17 ++++++++--------- manifest.uuid | 2 +- src/shell.c.in | 2 ++ test/shell1.test | 15 +++++++++++++++ 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/manifest b/manifest index daed8e5048..37ff165854 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C When\sreading\sa\ssuper-journal\sname\sfrom\sa\sjournal\sfile,\sallocate\sa\snew\sbuffer\srather\sthan\susing\sPager.pTmpSpace.\sThis\sprevents\sa\sbuffer\soverrun\sthat\scould\soccur\swhen\susing\sa\sVFS\swith\sa\slarge\ssqlite3_vfs.mxPathname\svalue\swith\sa\sdatabase\swith\sa\ssmall\spage\ssize. -D 2026-06-12T18:35:24.464 +C Make\sthe\s--header\soption\sto\sthe\sCLI\ssticky,\sso\sthat\sit\sdoes\snot\sget\nturned\soff\sby\ssubsequence\s--csv\sor\ssimilar\smode\schange\soptions.\n[bugs:/info/2026-06-13T11:49:18Z|Bug\s2026-06-13T11:49:18Z] +D 2026-06-13T18:04:18.963 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -739,7 +739,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c d0724113da9f5c0430d2052808ce59519f51ae7c4fbb1f5ef21fe3a832956086 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c 5c3a5e3c1e6c3f8ccabeb414e18dce64e6f3e797de225ee93034f2c9e76f289c -F src/shell.c.in ab34cbf5b85285e504eca645ba879ee190c02fbbfa6d4e7f7504a424775e8729 +F src/shell.c.in a4e83895cfa336065ad7f7a7dea8fc2a19d050f7ce7466621c67208acaac9e44 F src/sqlite.h.in 22674c0fc97b5ee21ace65b9bc1ed805dab35f433326d8022a642676c3b8a9d1 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 9788c301f95370fa30e808861f1d2e6f022a816ddbe2a4f67486784c1b31db2e @@ -1630,7 +1630,7 @@ F test/sharedB.test 1a84863d7a2204e0d42f2e1606577c5e92e4473fa37ea0f5bdf829e4bf8e F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939 F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304 F test/shell-prompt.sql 8a320a78812d75349bd5e1a95178f7ff1f2194bb4cceee572865d127c51684b3 -F test/shell1.test c84eff209f93ad17ccdf7e1634969fc8231684254edeb21d9b13d67c3179cdb5 +F test/shell1.test 2795124bb812d84ae7995fbfda4e518328cd9f31874bc2e5eb2bfe44ac31fa16 F test/shell2.test dc541d2681503e55466a24d35a4cbf8ca5b90b8fcdef37fc4db07373a67d31d3 F test/shell3.test 91efdd545097a61a1f72cf79c9ad5b49da080f3f10282eaf4c3c272cd1012db2 F test/shell4.test e25580a792b7b54560c3a76b6968bd8189261f38979fe28e6bc6312c5db280db @@ -2209,9 +2209,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P f15d076820f4a0d9e7fa32d99575bce27bde5e987bb415e6cfb69b06f0da7e1e ac17669e840dbac5c7c75e9b6014cca2d289aba8de36f9d1d0d61186e8cc6207 -R b4784016cdc66719536104e64f4ddb51 -T +closed ac17669e840dbac5c7c75e9b6014cca2d289aba8de36f9d1d0d61186e8cc6207 -U dan -Z ae30c5c61ab231f09fb1164a547a0499 +P 7f71859841af7cb0806f58e9c8013a990fcca72b807a0513156d7127ce5c7b62 +R aa021e6f1003cbf27cd77190fc93875f +U drh +Z 91f833db227cb0a536fba25fcf7625ec # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index e7fdd067d6..5d92cf6af5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7f71859841af7cb0806f58e9c8013a990fcca72b807a0513156d7127ce5c7b62 +b19cef1862444ee694eeea2254aa9a8d74d2343da5a8257c22e3068f388aa2fd diff --git a/src/shell.c.in b/src/shell.c.in index ed07ad1239..49b667866f 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -14121,8 +14121,10 @@ int SQLITE_CDECL main(int argc, char **argv){ cmdline_option_value(argc,argv,++i)); }else if( cli_strcmp(z,"-header")==0 ){ data.mode.spec.bTitles = QRF_Yes; + data.mode.mFlags |= MFLG_HDR; }else if( cli_strcmp(z,"-noheader")==0 ){ data.mode.spec.bTitles = QRF_No; + data.mode.mFlags |= MFLG_HDR; }else if( cli_strcmp(z,"-echo")==0 ){ data.mode.mFlags |= MFLG_ECHO; }else if( cli_strcmp(z,"-eqp")==0 ){ diff --git a/test/shell1.test b/test/shell1.test index de863c41df..30baecb89b 100644 --- a/test/shell1.test +++ b/test/shell1.test @@ -122,6 +122,21 @@ do_test shell1-1.9.1 { do_test shell1-1.10.1 { catchcmd "-csv test.db" "" } {0 {}} +do_test shell1-1.10.2 { + catchcmd test.db "CREATE TABLE t1(a,b,c);INSERT INTO t1 VALUES(1,2,3),(4,5,6);" + catchcmd "-csv test.db" "SELECT * FROM t1" +} {0 {1,2,3 +4,5,6}} +do_test shell1-1.10.3 { + catchcmd "-header -csv test.db" "SELECT * FROM t1" +} {0 {a,b,c +1,2,3 +4,5,6}} +do_test shell1-1.10.4 { + catchcmd "-csv -header test.db" "SELECT * FROM t1" +} {0 {a,b,c +1,2,3 +4,5,6}} # -html set output mode to HTML do_test shell1-1.11.1 { -- 2.47.3