From: drh <> Date: Tue, 27 Jan 2026 14:59:08 +0000 (+0000) Subject: For CSV import in the CLI, when the table is created automatically X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b4142c491ecdca87dafaa1f3828af867fa73de45;p=thirdparty%2Fsqlite.git 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 --- diff --git a/manifest b/manifest index 141bb846a9..017c8fd97c 100644 --- 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. diff --git a/manifest.uuid b/manifest.uuid index ce73b87d77..a4ea2c9212 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -2e96e8efa9a331b0f7d928c55e7d85be64e7c60c85032c1e972f77fe790bdec4 +aff74e71ea734e1ad8fa893652885fd8c6c432fb60e92913a799e6df5e980b47 diff --git a/src/shell.c.in b/src/shell.c.in index c19fc06739..fbecc22db6 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -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 (\ diff --git a/test/import01.sql b/test/import01.sql index 61d5e2452b..6e029b8b27 100644 --- a/test/import01.sql +++ b/test/import01.sql @@ -119,12 +119,12 @@ END .testcase 141 SELECT sql FROM sqlite_schema WHERE name='t1'; .check <