]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
For CSV import in the CLI, when the table is created automatically
authordrh <>
Tue, 27 Jan 2026 14:59:08 +0000 (14:59 +0000)
committerdrh <>
Tue, 27 Jan 2026 14:59:08 +0000 (14:59 +0000)
because it does not previously exist, make the column types "ANY"
instead of "TEXT" so that they will automatically adjust to different
datatypes in the input text.

FossilOrigin-Name: aff74e71ea734e1ad8fa893652885fd8c6c432fb60e92913a799e6df5e980b47

manifest
manifest.uuid
src/shell.c.in
test/import01.sql

index 141bb846a9a1055037d0d8c66cc734d380f79b58..017c8fd97c234bc0a2a4cfc2a26ab2357a77a596 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\s--csv\soption\sto\sthe\sshowtmlog\sutility\sprogram.
-D 2026-01-27T14:27:19.439
+C For\sCSV\simport\sin\sthe\sCLI,\swhen\sthe\stable\sis\screated\sautomatically\nbecause\sit\sdoes\snot\spreviously\sexist,\smake\sthe\scolumn\stypes\s"ANY"\ninstead\sof\s"TEXT"\sso\sthat\sthey\swill\sautomatically\sadjust\sto\sdifferent\ndatatypes\sin\sthe\sinput\stext.
+D 2026-01-27T14:59:08.986
 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 47aa7fdc9ec4c19b103ac5e79d7887d30119b5675309facf5eed1118391c868b
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
 F src/select.c 36697f8ef0b3fc36534c0cb0c97676fc92480b7572c0bb89f711cf85aea0f3c1
-F src/shell.c.in e8818572acd50464bc00426fe0d755e98239f73d531437c3dc7721d1fecb1231
+F src/shell.c.in d7c1041d6ad00bee2515842a1950640afe424df2e89ad2d6e3b9e68b184824a5
 F src/sqlite.h.in 8bcbaecfe2cbecf8c5c1381354fcdd7d307443e88b4953fccb222456c1267b61
 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
 F src/sqlite3ext.h 1b7a0ee438bb5c2896d0609c537e917d8057b3340f6ad004d2de44f03e3d3cca
@@ -1267,7 +1267,7 @@ F test/hook.test 2d89bf9480646feb8093be3a58ea502d6521906779ed960de31dd9c4502c054
 F test/hook2.test b9ff3b8c6519fb67f33192f1afe86e7782ee4ac8
 F test/icu.test 8da7d52cd9722c82f33b0466ed915460cb03c23a38f18a9a2d3ff97da9a4a8c0
 F test/ieee754.test 0d3ab84ab2069c9994c833a7cd820ee6037f0cf888e206a4a7fc05f735d5790a
-F test/import01.sql 87d58a2418cd912568fd27e03cb7c1246cae06a0c72007e784f31d17f7f9230b
+F test/import01.sql 11a5f8325b8b04c66fe489d30558d462411432adf750cef1c0f7b06564691a8c
 F test/imposter1.sql fc5ad0945bb19622688c7a1cd7dfd1cefa4b013bac9e2628c22b03c7309f021f
 F test/imposter1.test 5a20b2cdeb53e65fc57cdb10a33750bd4ef6259909eaf1972253b9e79f7a3fb2
 F test/in.test edf979bff3244b9e47849e2b43886631354c8213791f42da92216f08012141af
@@ -2193,8 +2193,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
 F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 661878a62870023f7f54e8c591a0823dc457cb89780ab40c1891fb3d5e8f095f
-R f143497d4f1b8f3a0b5fa858e243dd36
+P 2e96e8efa9a331b0f7d928c55e7d85be64e7c60c85032c1e972f77fe790bdec4
+R 7425e3e93488d3528f9b79136e611cf9
 U drh
-Z cab853d8a0c200d46160f103af9c4268
+Z 39d96bb3dde9e9ef67c539c3b80d5726
 # Remove this line to create a well-formed Fossil manifest.
index ce73b87d776fea6dd18d6aec4c7b5a3d6dff6738..a4ea2c92122f278c9af3d030fa64646f6ec2c794 100644 (file)
@@ -1 +1 @@
-2e96e8efa9a331b0f7d928c55e7d85be64e7c60c85032c1e972f77fe790bdec4
+aff74e71ea734e1ad8fa893652885fd8c6c432fb60e92913a799e6df5e980b47
index c19fc06739d1c8c62f843f2c2679a90b683c7731..fbecc22db6faca2f41cd3d372c5319afd6cb4ddc 100644 (file)
@@ -7181,7 +7181,7 @@ SELECT CASE WHEN (nc < 10) THEN 1 WHEN (nc < 100) THEN 2 \
 SELECT\
  '('||x'0a'\
  || group_concat(\
-  cname||' TEXT',\
+  cname||' ANY',\
   ','||iif((cpos-1)%4>0, ' ', x'0a'||' '))\
  ||')' AS ColsSpec \
 FROM (\
index 61d5e2452bc7ea3e40ba6bb64a67af889ef8dd12..6e029b8b273578ca13e4c706be365546d57627a0 100644 (file)
@@ -119,12 +119,12 @@ END
 .testcase 141
 SELECT sql FROM sqlite_schema WHERE name='t1';
 .check <<END
\95­â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\95®
-│                 sql                  │
\95\9eâ\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95\90â\95¡
-│ CREATE TABLE "t1"(                   
-│ "abc" TEXT, "def" TEXT, "xy z" TEXT) │
\95°â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\94\80â\95¯
+╭───────────────────────────────────╮
+│                sql                │
+╞═══════════════════════════════════╡
+│ CREATE TABLE "t1"(                │
+│ "abc" ANY, "def" ANY, "xy z" ANY) │
+╰───────────────────────────────────╯
 END
 
 .testcase 150
@@ -138,7 +138,7 @@ SELECT * FROM t1;
 .check <<END
 Column separator ",", row separator "\n"
 CREATE TABLE "main"."t1"(
-"abc" TEXT, "def" TEXT, "xy z" TEXT)
+"abc" ANY, "def" ANY, "xy z" ANY)
 
 Added 2 rows with 0 errors using 3 lines of input
 ╭──────┬─────┬──────╮