]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
New test case to insure legacy CREATE TABLE syntax is supported.
authordrh <drh@noemail.net>
Thu, 28 Jul 2016 12:52:30 +0000 (12:52 +0000)
committerdrh <drh@noemail.net>
Thu, 28 Jul 2016 12:52:30 +0000 (12:52 +0000)
FossilOrigin-Name: 6feff15cae8f0427be790355841d49c479c1c586

manifest
manifest.uuid
test/parser1.test

index d0e7b14e5400797b7c983af7137c90548a8dcbf9..d4a4aa1bdd38f3de3090fd8d5309c31989547f1b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Enhance\sthe\squery\splanner\scost\sestimation\sfor\sindex\sscans\sto\stake\sinto\saccount\nWHERE\sclause\sterms\sthat\scan\sbe\scomputed\susing\sonly\sthe\sindex\sand\sthat\sdo\snot\nrequire\slooking\sup\srows\sin\sthe\soriginal\stable.\s\sThis\sfixes\san\sobscure\nperformance\sregression\sthat\sarose\swhen\sthe\sORDER\sBY\sLIMIT\soptimization\swas\nadded\sby\scheck-in\s[bf46179d44843].
-D 2016-07-27T19:30:53.586
+C New\stest\scase\sto\sinsure\slegacy\sCREATE\sTABLE\ssyntax\sis\ssupported.
+D 2016-07-28T12:52:30.552
 F Makefile.in 6c20d44f72d4564f11652b26291a214c8367e5db
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a
@@ -985,7 +985,7 @@ F test/pagerfault2.test caf4c7facb914fd3b03a17b31ae2b180c8d6ca1f
 F test/pagerfault3.test 1003fcda009bf48a8e22a516e193b6ef0dd1bbd8
 F test/pageropt.test 84e4cc5cbca285357f7906e99b21be4f2bf5abc0
 F test/pagesize.test 5769fc62d8c890a83a503f67d47508dfdc543305
-F test/parser1.test 222b5cbf3e2e659fec1bf7d723488c8b9c94f1d0
+F test/parser1.test 391b9bf9a229547a129c61ac345ed1a6f5eb1854
 F test/pcache.test c8acbedd3b6fd0f9a7ca887a83b11d24a007972b
 F test/pcache2.test af7f3deb1a819f77a6d0d81534e97d1cf62cd442
 F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
@@ -1508,8 +1508,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 4d59df02d3713b3e3804e1a88e676749b2794286 50f8ea37fb9647c4a9da2c269a4d6f54b10ce96b
-R a589b595bdfe9868de18def836f199ce
-T +closed 50f8ea37fb9647c4a9da2c269a4d6f54b10ce96b
+P 9e2b26811452a5011d0a97a689636fa4409da856
+R d76a2fc86bbf1915af6bf1dd54a28237
 U drh
-Z 994e8dc5cbb7e25d0e8cc4a952504fbd
+Z 803b725d666d5af434be7409c67eabe6
index 9b63447ecc8a34bd1df0e32ab49e9c4f229102fa..f4495ea5c1226ee842f8b37601fc7ff9f94b5501 100644 (file)
@@ -1 +1 @@
-9e2b26811452a5011d0a97a689636fa4409da856
\ No newline at end of file
+6feff15cae8f0427be790355841d49c479c1c586
\ No newline at end of file
index 78c1a40c630e41ac29858536a4c8cfddfa0316a0..c708dded1f21532945e734a37413626977b709ae 100644 (file)
@@ -76,4 +76,27 @@ do_catchsql_test parser1-2.2 {
   SELECT x FROM c;
 } {1 {syntax error after column name "x"}}
 
+# Verify that the comma between multiple table constraints is
+# optional.
+#
+# The missing comma is technically a syntax error.  But we have to support
+# it because there might be legacy databases that omit the commas in their
+# sqlite_master tables.
+#
+do_execsql_test parser1-3.1 {
+  CREATE TABLE t300(id INTEGER PRIMARY KEY);
+  CREATE TABLE t301(
+    id INTEGER PRIMARY KEY,
+    c1 INTEGER NOT NULL,
+    c2 INTEGER NOT NULL,
+    c3 BOOLEAN NOT NULL DEFAULT 0,
+    FOREIGN KEY(c1) REFERENCES t300(id) ON DELETE CASCADE ON UPDATE RESTRICT
+        /* no comma */
+    FOREIGN KEY(c2) REFERENCES t300(id) ON DELETE CASCADE ON UPDATE RESTRICT
+        /* no comma */
+    UNIQUE(c1, c2)
+  );
+  PRAGMA foreign_key_list(t301);
+} {0 0 t300 c2 id RESTRICT CASCADE NONE 1 0 t300 c1 id RESTRICT CASCADE NONE}
+
 finish_test