From: drh Date: Mon, 18 Apr 2016 15:54:29 +0000 (+0000) Subject: Remove quotes from identifiers used as datatype names in a CREATE TABLE X-Git-Tag: version-3.12.2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fd491cd66e18dd0ea5387dbf81979186ef2612a0;p=thirdparty%2Fsqlite.git Remove quotes from identifiers used as datatype names in a CREATE TABLE statement. Fix for ticket [7d7525cb01b68] FossilOrigin-Name: ab9d279f40f81e5a95de10f70324960cf091c368 --- diff --git a/manifest b/manifest index ff497c703b..4451299eae 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Version\s3.12.1 -D 2016-04-08T15:09:49.426 +C Remove\squotes\sfrom\sidentifiers\sused\sas\sdatatype\snames\sin\sa\sCREATE\sTABLE\nstatement.\s\sFix\sfor\sticket\s[7d7525cb01b68] +D 2016-04-18T15:54:29.868 F Makefile.in f53429fb2f313c099283659d0df6f20f932c861f F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc b00bcf0ec7001857aea81ee39fae45d20f5f4e59 @@ -300,7 +300,7 @@ F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73 F src/btree.c 577fb5674e2f0aa0a38246afc19e1885a0b8c9b0 F src/btree.h a5008b9afe56e8e54ade6c436a910f112defcca9 F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5 -F src/build.c 84fb5a66c8f38f96b5b2c600b42a649e8cf4dbde +F src/build.c 16bbcb166a06b4909a4c645273c474645dbdce66 F src/callback.c 2e76147783386374bf01b227f752c81ec872d730 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e F src/ctime.c 60e135af364d777a9ab41c97e5e89cd224da6198 @@ -823,7 +823,7 @@ F test/insert5.test 394f96728d1258f406fe5f5aeb0aaf29487c39a6 F test/instr.test 737bbf80685232033f3abedc6ae92f75860b5dd2 F test/intarray.test 066b7d7ac38d25bf96f87f1b017bfc687551cdd4 F test/interrupt.test dfe9a67a94b0b2d8f70545ba1a6cca10780d71cc -F test/intpkey.test 70aab09756b9bd3bcb6b0358f971d7bbace46522 +F test/intpkey.test 153b70e32d008f4f4b2dff8daf448a6110b62a9c F test/io.test f95bca1783b01ea7761671560d023360d2dfa4cc F test/ioerr.test 2a24bd6ed5a8b062e64bfe1f6cf94fb25e92210d F test/ioerr2.test 2593563599e2cc6b6b4fcf5878b177bdd5d8df26 @@ -954,7 +954,7 @@ F test/pcache.test c8acbedd3b6fd0f9a7ca887a83b11d24a007972b F test/pcache2.test af7f3deb1a819f77a6d0d81534e97d1cf62cd442 F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff F test/permutations.test af8067e4b6d684518956f8e2a744f42bde99014d -F test/pragma.test afbf028be1c35b68f57db8eb015c4a3c59d8f28e +F test/pragma.test dd5313eee9c6d9d4726593a68ede8768d3b50ccc F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f F test/pragma3.test 3f1984a04657331f838df5c519b443c2088df922 F test/printf.test b3ff34e73d59124140eaf89f7672e21bc2ca5fcc @@ -1459,10 +1459,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 84d2a09eab28b65ab7015e89c2057851c7894842 -R 53ca277f27cb21538c9d98930a79d380 -T +bgcolor * #d0c0ff -T +sym-release * -T +sym-version-3.12.1 * +P fe7d3b75fe1bde41511b323925af8ae1b910bc4d +Q +eba27d4d17a76884292667d570d542e580ee3e77 +R 02e70ee12a2ec9b4235cffccafa9c321 U drh -Z d74ba186b3dc4e9d8ac039d3fb832fcf +Z c506faa2e9fab41b31fc94ed21c0d6ed diff --git a/manifest.uuid b/manifest.uuid index 265e36b992..6db49ee251 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fe7d3b75fe1bde41511b323925af8ae1b910bc4d \ No newline at end of file +ab9d279f40f81e5a95de10f70324960cf091c368 \ No newline at end of file diff --git a/src/build.c b/src/build.c index eca0fc3c74..b749810afe 100644 --- a/src/build.c +++ b/src/build.c @@ -1086,6 +1086,7 @@ void sqlite3AddColumn(Parse *pParse, Token *pName, Token *pType){ zType = z + sqlite3Strlen30(z) + 1; memcpy(zType, pType->z, pType->n); zType[pType->n] = 0; + sqlite3Dequote(zType); pCol->affinity = sqlite3AffinityType(zType, &pCol->szEst); pCol->colFlags |= COLFLAG_HASTYPE; } diff --git a/test/intpkey.test b/test/intpkey.test index a149f43fb2..c6be5418aa 100644 --- a/test/intpkey.test +++ b/test/intpkey.test @@ -604,5 +604,16 @@ do_test intpkey-15.7 { } } {} +# 2016-04-18 ticket https://www.sqlite.org/src/tktview/7d7525cb01b68712495d3a +# Be sure to escape quoted typenames. +# +do_execsql_test intpkey-16.0 { + CREATE TABLE t16a(id "INTEGER" PRIMARY KEY AUTOINCREMENT, b [TEXT], c `INT`); +} {} +do_execsql_test intpkey-16.1 { + PRAGMA table_info=t16a; +} {0 id INTEGER 0 {} 1 1 b TEXT 0 {} 0 2 c INT 0 {} 0} + + finish_test diff --git a/test/pragma.test b/test/pragma.test index acbe74599e..e3f6f8cb0f 100644 --- a/test/pragma.test +++ b/test/pragma.test @@ -628,10 +628,10 @@ ifcapable tempdb&&attach { } do_test pragma-6.2 { execsql { - CREATE TABLE t2(a,b,c); + CREATE TABLE t2(a TYPE_X, b [TYPE_Y], c "TYPE_Z"); pragma table_info(t2) } -} {0 a {} 0 {} 0 1 b {} 0 {} 0 2 c {} 0 {} 0} +} {0 a TYPE_X 0 {} 0 1 b TYPE_Y 0 {} 0 2 c TYPE_Z 0 {} 0} do_test pragma-6.2.1 { execsql { pragma table_info;