For CSV import in the CLI, when the table is created automatically

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
This commit is contained in:
drh
2026-01-27 14:59:08 +00:00
parent a943c0e973
commit b4142c491e
4 changed files with 16 additions and 16 deletions
+7 -7
View File
@@ -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.
+1 -1
View File
@@ -1 +1 @@
2e96e8efa9a331b0f7d928c55e7d85be64e7c60c85032c1e972f77fe790bdec4
aff74e71ea734e1ad8fa893652885fd8c6c432fb60e92913a799e6df5e980b47
+1 -1
View 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 (\
+7 -7
View File
@@ -119,12 +119,12 @@ END
.testcase 141
SELECT sql FROM sqlite_schema WHERE name='t1';
.check <<END
sql
CREATE TABLE "t1"(
"abc" TEXT, "def" TEXT, "xy z" TEXT)
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