From: larrybr Date: Thu, 28 Oct 2021 19:49:23 +0000 (+0000) Subject: Fix .import -skip issue reported at https://sqlite.org/forum/forumpost/4c0816c24fc9d1... X-Git-Tag: version-3.37.0~84 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6ac9a5cf5a9102bd3e22cf1bf072770a8c43ed87;p=thirdparty%2Fsqlite.git Fix .import -skip issue reported at https://sqlite.org/forum/forumpost/4c0816c24fc9d16f?t=h FossilOrigin-Name: 3aadbe17edc1efc7fa6c9600de84e23242ba7866d2dcef2189afd7ba4c97979f --- diff --git a/manifest b/manifest index eaf766ec29..72ee7b58ba 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Minor\schanges\sto\smake\sit\seasier\sfor\sstatic\sanalyzers\sto\sreason\sabout\sthe\scode. -D 2021-10-28T12:07:43.062 +C Fix\s.import\s-skip\sissue\sreported\sat\shttps://sqlite.org/forum/forumpost/4c0816c24fc9d16f?t=h +D 2021-10-28T19:49:23.955 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -550,7 +550,7 @@ F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c F src/resolve.c ae65c88f5d0d4bc0052b203773d407efa2387c2bd6b202f87178006c7bb8632c F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 F src/select.c 32d25b5af6c708aa63373c78c2e59681910387a7a78c08ec3086cadc77d41627 -F src/shell.c.in 6aefb37d9c87da9e33ae7d3541d07a24c8b74a4bc7b805a2a367d92fe5709108 +F src/shell.c.in 185e4b905c3a399e9376597a04cf668f6f992513290978ac978cf4991954d89f F src/sqlite.h.in f0c1ecb5af508aa8e970cd8bc0ec851e6c380b81825038d458846c2fcdfcef50 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h e97f4e9b509408fea4c4e9bef5a41608dfac343b4d3c7a990dedde1e19af9510 @@ -1380,7 +1380,7 @@ F test/shell1.test c354008b27c904f0166c2138abd7382013ea070b41114114ecbdfb32c726a F test/shell2.test f00a0501c00583cbc46f7510e1d713366326b2b3e63d06d15937284171a8787c F test/shell3.test cb4b835a901742c9719437a89171172ecc4a8823ad97349af8e4e841e6f82566 F test/shell4.test 3ed6c4b42fd695efcbc25d69ef759dbb15855ca8e52ba6c5ee076f8b435f48be -F test/shell5.test 84a30b55722a95a5b72989e691c469a999ca7591e7aa00b7fabc783ea5c9a6fe +F test/shell5.test 6e4aa0e531dcb8dcf74b7920a2a7442c6712d4dff8422bbc81f768f9dee8a0e3 F test/shell6.test 1ceb51b2678c472ba6cf1e5da96679ce8347889fe2c3bf93a0e0fa73f00b00d3 F test/shell7.test 115132f66d0463417f408562cc2cf534f6bbc6d83a6d50f0072a9eb171bae97f F test/shell8.test 96be02ea0c21f05b24c1883d7b711a1fa8525a68ab7b636aacf6057876941013 @@ -1929,7 +1929,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 6979efbf07d93e7afad508165df684dcc6fe33b91ca772397c8afa00d16d1a0d -R eda5d70b72df4d58dd65fea5053b20ca -U drh -Z dda87f03214a3375b663846ecba879a7 +P ba4104aa02625b51113978c1bb540b75bd88cb1959c7e9bfb4113db4159df5d4 +R 94b406dcc0f783386fbc1fd7aca47850 +U larrybr +Z a41ac8d69ba1283362a2564021d5a0c2 diff --git a/manifest.uuid b/manifest.uuid index 94e1887cf1..397c3755ea 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ba4104aa02625b51113978c1bb540b75bd88cb1959c7e9bfb4113db4159df5d4 \ No newline at end of file +3aadbe17edc1efc7fa6c9600de84e23242ba7866d2dcef2189afd7ba4c97979f \ No newline at end of file diff --git a/src/shell.c.in b/src/shell.c.in index cc4fb593e2..375c75124f 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -8282,6 +8282,11 @@ static int do_meta_command(char *zLine, ShellState *p){ failIfSafeMode(p, "cannot run .import in safe mode"); memset(&sCtx, 0, sizeof(sCtx)); + sCtx.z = sqlite3_malloc64(120); + if( sCtx.z==0 ){ + import_cleanup(&sCtx); + shell_out_of_memory(); + } if( p->mode==MODE_Ascii ){ xRead = ascii_read_one_field; }else{ diff --git a/test/shell5.test b/test/shell5.test index 8ec9a632bf..dc99a7acea 100644 --- a/test/shell5.test +++ b/test/shell5.test @@ -456,4 +456,19 @@ CREATE TABLE t7(a, b, c); db eval { SELECT * FROM t7 ORDER BY a } } {1 2 3 4 5 {} 6 7 8} +do_test shell5-4.3 { + forcedelete shell5.csv + set fd [open shell5.csv w] + puts $fd ",," + puts $fd "1,2,3" + close $fd + catchcmd test.db [string trim { +.mode csv +CREATE TABLE t8(a, b, c); +.import -skip 1 shell5.csv t8 +.nullvalue # + }] + db eval { SELECT * FROM t8 } +} {1 2 3} + finish_test