]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Back out part of (5546): Even though ON CONFLICT clauses on CHECK constraints
authordrh <drh@noemail.net>
Fri, 8 Aug 2008 15:06:21 +0000 (15:06 +0000)
committerdrh <drh@noemail.net>
Fri, 8 Aug 2008 15:06:21 +0000 (15:06 +0000)
are no-ops, if a schema includes them, the database will be unreadable if
we do not at least parse and ignore the clause. (CVS 5548)

FossilOrigin-Name: efcaeb68f943daf135972ae045eff1ca157a7f22

manifest
manifest.uuid
src/parse.y

index 0604fdbf0c91d6cbffc198f5a8b9a3db36aed033..6666b874c4b687ef539ebbac7e16d39bbfc94ff8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Round\slookaside\sbuffer\ssizes\sin\sthe\sright\sdirection.\s\sTicket\s#3277.\s(CVS\s5547)
-D 2008-08-08T14:33:13
+C Back\sout\spart\sof\s(5546):\s\sEven\sthough\sON\sCONFLICT\sclauses\son\sCHECK\sconstraints\nare\sno-ops,\sif\sa\sschema\sincludes\sthem,\sthe\sdatabase\swill\sbe\sunreadable\sif\nwe\sdo\snot\sat\sleast\sparse\sand\signore\sthe\sclause.\s(CVS\s5548)
+D 2008-08-08T15:06:22
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 2713ea64947be3b35f35d9a3158bb8299c90b019
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -137,7 +137,7 @@ F src/os_unix.c fe0dbc35bcd3de49e46b132abfc0f45d6dd6a864
 F src/os_win.c aefe9ee26430678a19a058a874e4e2bd91398142
 F src/pager.c b6a366f2343e7f127d7e70dbe76cd664336143cd
 F src/pager.h 588c1ac195228b2da45c4e5f7ab6c2fd253d1751
-F src/parse.y 3bd91b936a247dbb89a6fb1824cb18c6987f16b0
+F src/parse.y 95d377a7c8714d4b68085709482c4220dc3cd778
 F src/pragma.c 6e207b4f69901089758c02c02e0bf86ed12a4d8f
 F src/prepare.c d9f420808f7d2802258f0bf64103271311e2d87f
 F src/printf.c 2e984b2507291a7e16d89dc9bb60582904f6247d
@@ -617,7 +617,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P 4cedc641ed39982ae8cbb9200aa1e2f37c878b73
-R 01f00fc1811b3bcf6084576543aedf2f
+P c1a9bf3863b7bcc69885e4637f18c6532075f982
+R 8d0e91da93c2779fa60230021b205285
 U drh
-Z 42d29333f3f39fd281bf48965af060b7
+Z d95263978d00f25283f3bc56c2592eb7
index 2e3693d8b818bbb2646691ea89d48cf757c3e432..52eb581fa73de500d6201d650ec753c644d8e9b9 100644 (file)
@@ -1 +1 @@
-c1a9bf3863b7bcc69885e4637f18c6532075f982
\ No newline at end of file
+efcaeb68f943daf135972ae045eff1ca157a7f22
\ No newline at end of file
index 8b6d1632e81d1d05720510458bcc64b2c173bff3..3d074d5620ec56bd00d4f8ca969b58d2f0e0d2bd 100644 (file)
@@ -14,7 +14,7 @@
 ** the parser.  Lemon will also generate a header file containing
 ** numeric codes for all of the tokens.
 **
-** @(#) $Id: parse.y,v 1.249 2008/08/08 14:19:41 drh Exp $
+** @(#) $Id: parse.y,v 1.250 2008/08/08 15:06:22 drh Exp $
 */
 
 // All token codes are small integers with #defines that begin with "TK_"
@@ -313,7 +313,7 @@ tcons ::= PRIMARY KEY LP idxlist(X) autoinc(I) RP onconf(R).
                                          {sqlite3AddPrimaryKey(pParse,X,R,I,0);}
 tcons ::= UNIQUE LP idxlist(X) RP onconf(R).
                                  {sqlite3CreateIndex(pParse,0,0,0,X,R,0,0,0,0);}
-tcons ::= CHECK LP expr(E) RP. {sqlite3AddCheckConstraint(pParse,E);}
+tcons ::= CHECK LP expr(E) RP onconf. {sqlite3AddCheckConstraint(pParse,E);}
 tcons ::= FOREIGN KEY LP idxlist(FA) RP
           REFERENCES nm(T) idxlist_opt(TA) refargs(R) defer_subclause_opt(D). {
     sqlite3CreateForeignKey(pParse, FA, &T, TA, R);