]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Improvements to the ".schema indent" logic.
authordrh <>
Tue, 2 Dec 2025 19:55:39 +0000 (19:55 +0000)
committerdrh <>
Tue, 2 Dec 2025 19:55:39 +0000 (19:55 +0000)
[forum:/forumpost/c8136b1bd0|Forum post 2025-12-02T19:04:04Z].

FossilOrigin-Name: 71ea7f38ffd0648c58713d8be5d2f5536f926ec21a0adc3c2a8a9a7ba8ea3826

manifest
manifest.uuid
src/shell.c.in
test/shell1.test

index 353c5bcf37d1f2573508b2af98ea6398e27bec9c..84539782557aae9fd187c214fd065d81a67a65a5 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C New\stest\scases\sfor\sQRF
-D 2025-12-02T18:37:49.618
+C Improvements\sto\sthe\s".schema\sindent"\slogic.\n[forum:/forumpost/c8136b1bd0|Forum\spost\s2025-12-02T19:04:04Z].
+D 2025-12-02T19:55:39.502
 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 5616fbcf3b833c7c705b24371828215ad0925d0c0073216c4f153348d5753f0a
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
 F src/select.c 6a509cddd815d64f6141e539fff633a518a393772a44dffb4490f7fc3f0d83a9
-F src/shell.c.in 8ec8bf61a3322c5e29c286d4aecbc82e25157df9244cb1a1a1c4e2c49de8b64d
+F src/shell.c.in 62b286951404fd72c116bb3b96b5ee9330de4dc4c8753ca33967ca1a47b3b972
 F src/sqlite.h.in 706cacea5308b0244fb6cec92e08310fb427a125375c64137cc1f878ae4cf5c0
 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
 F src/sqlite3ext.h 5d5330f5f8461f5ce74960436ddcfa53ecd09c2b8b23901e22ae38aec3243998
@@ -1610,7 +1610,7 @@ F test/sharedA.test 64bdd21216dda2c6a3bd3475348ccdc108160f34682c97f2f51c19fc0e21
 F test/sharedB.test 1a84863d7a2204e0d42f2e1606577c5e92e4473fa37ea0f5bdf829e4bf8ee707
 F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
 F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
-F test/shell1.test f377091779c4099619e78e1f55a0a12513eaac55d5073a14ca6545c6742c746c
+F test/shell1.test 495e8f87eca4010e8f2f930468e4d69a4923f22b8022faa0b1faa2efa2af68e5
 F test/shell2.test 103140814bdc7508aa41dd3462413cbc4aa84b4261112cb8d501d74275cb7d48
 F test/shell3.test 840192774cc4edf7653520c0434a311c7477b9bc324abbc7bd2887915792fa8c
 F test/shell4.test e25580a792b7b54560c3a76b6968bd8189261f38979fe28e6bc6312c5db280db
@@ -2183,8 +2183,8 @@ F tool/version-info.c 33d0390ef484b3b1cb685d59362be891ea162123cea181cb8e6d2cf6dd
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 601c40a1d9e1bcd9c453210c275001543d1533af25b4ccf399d5ef4ea1328950
-R db3be16f518798aa64811be276402ae9
+P e49c63e31888c6787ab13f736d58ff985a24c3f98b475e05c30e8b244afffb80
+R 2ce68e64630fa55d12785e2ebab7a182
 U drh
-Z c58c2647d0ec0d77cab1c57aa88aaed0
+Z 4962bf9c4e3c537fc62e88d0a1d5076b
 # Remove this line to create a well-formed Fossil manifest.
index 0a563e0d5ba84fb88e9b435dc9479ea1b990f01a..ae35529b047a29d4345e8007648e66f2a6c71564 100644 (file)
@@ -1 +1 @@
-e49c63e31888c6787ab13f736d58ff985a24c3f98b475e05c30e8b244afffb80
+71ea7f38ffd0648c58713d8be5d2f5536f926ec21a0adc3c2a8a9a7ba8ea3826
index f5d81d001ee4741eab1a058e5d546b488825a2d3..0ff7135757ecd24dd1ee338d8eebf57854e496ac 100644 (file)
@@ -2391,6 +2391,8 @@ static void shellFormatSchema(
     for(i=j=0; (c = z[i])!=0; i++){ /* Copy from z[i] back to z[j] */
       if( c==cEnd ){
         cEnd = 0;
+      }else if( cEnd!=0){
+        /* No-op */
       }else if( c=='"' || c=='\'' || c=='`' ){
         cEnd = c;
       }else if( c=='[' ){
index 9c1abf9916a2a253291c7a37dbb3dfbf40144978..9d0d0392b222da943745c18547ee59a40c36cf9a 100644 (file)
@@ -589,6 +589,7 @@ ifcapable vtab {
 # .schema ?TABLE?        Show the CREATE statements
 #                          If TABLE specified, only show tables matching
 #                          LIKE pattern TABLE.
+forcedelete test.db
 do_test shell1-3.21.1 {
   catchcmd "test.db" ".schema"
 } {0 {}}
@@ -615,6 +616,20 @@ CREATE VIEW v1 AS SELECT y+1 FROM v2
 
   catch {db eval {DROP VIEW v1; DROP VIEW v2; DROP TABLE t1;}}
 }
+do_test shell1-3.21.5 {
+  exec {*}$CLI -noinit test.db \
+   {CREATE TABLE t2(a INTEGER PRIMARY KEY, b BLOB DEFAULT(jsonb('[]')),c TEXT NOT NULL)STRICT;} \
+   {.schema -indent t2}
+} {CREATE TABLE t2(
+  a INTEGER PRIMARY KEY,
+  b BLOB DEFAULT(jsonb('[]')),
+  c TEXT NOT NULL
+)STRICT;}
+do_test shell1-3.21.6 {
+  exec {*}$CLI -noinit test.db \
+   {DROP TABLE t2;} {DROP VIEW v1;} {DROP VIEW v2;} {DROP TABLE t1;}\
+   {.schema -indent t2}
+} {}
 
 # .separator STRING  Change column separator used by output and .import
 do_test shell1-3.22.1 {