]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge fixes from trunk.
authordrh <drh@noemail.net>
Sat, 10 Nov 2018 03:47:40 +0000 (03:47 +0000)
committerdrh <drh@noemail.net>
Sat, 10 Nov 2018 03:47:40 +0000 (03:47 +0000)
FossilOrigin-Name: bf88efcec40036e0805940ff6371643dbc518442457d2bc18c711753607ae36c

1  2 
manifest
manifest.uuid
src/sqliteInt.h
test/altertab2.test

diff --cc manifest
index bc25d7f428f754139e6774e3cafe2bf21778b1dc,749239362f1abeb36915a23d0dcdd0baedb81bfc..0d4c466ec0932e36539186d6bfdce1626458735f
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Improved\sdocumentation\sfor\sSQLITE_DBCONFIG_DEFENSIVE.\s\sAdd\sa\sNEVER()\smacro\non\san\sunreachable\sbranch.
- D 2018-11-08T17:32:50.888
 -C Fix\sinvalid\suse\sof\sunprotected\ssqlite3_value\sobjects\sin\sthe\ssqldiff\sutility,\nwhen\susing\sthe\s--changeset\soption.
 -D 2018-11-09T23:41:57.373
++C Merge\sfixes\sfrom\strunk.
++D 2018-11-10T03:47:40.884
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F Makefile.in edbb6e20bb1decf65f6c64c9e61004a69bdf8afb39cdce5337c916b03dfcd1e3
@@@ -506,10 -506,10 +506,10 @@@ F src/resolve.c bc8c79e56439b111e7d9415
  F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93
  F src/select.c 61e867a906f140b73baf4ce7a201ad6dcba30820969f5618ee40e9a0d32c6f5f
  F src/shell.c.in 060ccc327959bdc85c895015eb382017fd0cd000ebd47b7e8dda42f8aab0b66f
 -F src/sqlite.h.in 1383b2fbce61bd3634caeafb2513205326a297e988ea749d4f6dec7da7a281c9
 +F src/sqlite.h.in 842ee6a2d3b2e7f2b56710f168cd189b92a2f54e68ef771e018e2ea7533c7e0e
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 960f1b86c3610fa23cb6a267572a97dcf286e77aa0dd3b9b23292ffaa1ea8683
- F src/sqliteInt.h 7a6bbb9a8864af66d864eb4e4619e263b44a35b8604f6775e1e226133d14d5ef
 -F src/sqliteInt.h cad10b3a482bd5b11f586df9877ff5f637ce14534291a438430d1f1a2b882296
++F src/sqliteInt.h c10361d952c33521111861ed4b0d625b62ad29b5fc4ee5e296a74cb032dc3cf3
  F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6a76b
  F src/status.c 46e7aec11f79dad50965a5ca5fa9de009f7d6bde08be2156f1538a0a296d4d0e
  F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34
@@@ -607,14 -607,14 +607,14 @@@ F test/alter3.test 4d79934d812eaeacc6f2
  F test/alter4.test 7e93a21fe131e1dfeb317e90056856f96b10381fc7fe3a05e765569a23400433
  F test/alterauth.test 63442ba61ceb0c1eeb63aac1f4f5cebfa509d352276059d27106ae256bafc959
  F test/alterauth2.test c0a1ddf5b93d93cb0d15ba7acaf0c5c6fb515bbe861ede75b2d3fabad33b6499
 -F test/altercol.test 53fb5e218c9296afc160f2c4fcbeaf42bd0604815d9b3896a7d2eec583ad8704
 -F test/alterlegacy.test e7c07d605c2a85e7d1696c89e6bf64dfc932fc6d9320fe8708c8f5fc0b524d41
 +F test/altercol.test 50095d59d07a178a2a6330ec2440b2f1a0b59918364c32d29b8a692f29a97a1a
 +F test/alterlegacy.test 82022721ce0de29cedc9a7af63bc9fcc078b0ee000f8283b4b6ea9c3eab2f44b
  F test/altermalloc.test 167a47de41b5c638f5f5c6efb59784002b196fff70f98d9b4ed3cd74a3fb80c9
  F test/altermalloc2.test fa7b1c1139ea39b8dec407cf1feb032ca8e0076bd429574969b619175ad0174b
 -F test/altertab.test fb8a9a2ab6deb5f860d27675f6213d14ab79b705e0d6350eead4ef3a3f73bf3e
 -F test/altertab2.test 7b3f4a6ca0dd833b75b889477a3e291e2799b4af25db908fe6930e39a353b1eb
 +F test/altertab.test ebb159e81589919852b2c3af8efbc25e6568bd758892fdc49cdaf1d73d26072f
- F test/altertab2.test 228b406400c0ddd59b9494fdfd178eeb8f3c1075e9f692f36bc909b1ad3eaed3
++F test/altertab2.test 0d64de5632ca5de13b023839cfe5b8952d029e4622befcea1433adaa93883220
  F test/amatch1.test b5ae7065f042b7f4c1c922933f4700add50cdb9f
 -F test/analyze.test b3a9c67d00e1df7588a5b7be9a0292899f94fe8cac1f94a017277474ca2e59df
 +F test/analyze.test 7168c8bffa5d5cbc53c05b7e9c7fcdd24b365a1bc5046ce80c45efa3c02e6b7c
  F test/analyze3.test ff62d9029e6deb2c914490c6b00caf7fae47cc85cdc046e4a0d0a4d4b87c71d8
  F test/analyze4.test cdf88f3f72b0f0643a1ff6c730fc5af1e42464d47478d9fbac84c333f72c014e
  F test/analyze5.test 765c4e284aa69ca172772aa940946f55629bc8c4
@@@ -1776,7 -1776,7 +1776,7 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P 6e4968b00507c4fdbe7e3c91f3f9cd61c6f1848092ddcf306f9fcb101a47fce7
- R 154a97a36783190d92298418e014a00a
 -P ae9638e9c0ad0c366f93c88a850f6b4cc86881e9f3f9f1e39574d9d83ddd8a6a
 -R 17ad9438f43deccbfad222dc84835b58
++P 9292d3351c40339de7ad6bc26c02e7592e6cdee2592e0c790fae63ccf21ea88c a8d65214a567eb1afd703ee4d09d398247e060a610b46097a726364db2861001
++R c7b9e5ca4379ef7e497b820596e30e08
  U drh
- Z ed660900217321d119edd1db60557ecd
 -Z 652d33c6a72178cf44c31358633e89a7
++Z 71d5dbe0f37bcddde1bfdf928180ff85
diff --cc manifest.uuid
index 2c2a763db0c33889f9b620e486496cfe956820c3,e1bfe3befc359a579f0d1dbc20daf87fd1449387..91450b1df95ee8715718175ecf1608c609f6c080
@@@ -1,1 -1,1 +1,1 @@@
- 9292d3351c40339de7ad6bc26c02e7592e6cdee2592e0c790fae63ccf21ea88c
 -a8d65214a567eb1afd703ee4d09d398247e060a610b46097a726364db2861001
++bf88efcec40036e0805940ff6371643dbc518442457d2bc18c711753607ae36c
diff --cc src/sqliteInt.h
Simple merge
index ce689df4ecb33f279971e5427c86917a9415ee49,2b2a0fb1e041131cf1a20c6ec915c8c093ec6ca8..2e4212c35e37385b984aab22bfe83388094866d1
@@@ -41,5 -41,50 +41,49 @@@ ifcapable fts5 
    } {hello world in tcl}
  }
  
+ #-------------------------------------------------------------------------
+ # Check that table names that appear in REFERENCES clauses are updated
+ # when a table is renamed unless:
+ #
+ #   a) "PRAGMA legacy_alter_table" is true, and
+ #   b) "PRAGMA foreign_keys" is false.
+ #
+ do_execsql_test 2.0 {
+   CREATE TABLE p1(a PRIMARY KEY, b);
+   CREATE TABLE c1(x REFERENCES p1);
+   CREATE TABLE c2(x, FOREIGN KEY (x) REFERENCES p1);
+   CREATE TABLE c3(x, FOREIGN KEY (x) REFERENCES p1(a));
+ }
+ do_execsql_test 2.1 {
+   ALTER TABLE p1 RENAME TO p2;
+   SELECT sql FROM sqlite_master WHERE name LIKE 'c%';
+ } {
+   {CREATE TABLE c1(x REFERENCES "p2")}
+   {CREATE TABLE c2(x, FOREIGN KEY (x) REFERENCES "p2")}
+   {CREATE TABLE c3(x, FOREIGN KEY (x) REFERENCES "p2"(a))}
+ }
+ do_execsql_test 2.2 {
+   PRAGMA legacy_alter_table = 1;
+   ALTER TABLE p2 RENAME TO p3;
+   SELECT sql FROM sqlite_master WHERE name LIKE 'c%';
+ } {
+   {CREATE TABLE c1(x REFERENCES "p2")}
+   {CREATE TABLE c2(x, FOREIGN KEY (x) REFERENCES "p2")}
+   {CREATE TABLE c3(x, FOREIGN KEY (x) REFERENCES "p2"(a))}
+ }
+ do_execsql_test 2.3 {
+   ALTER TABLE p3 RENAME TO p2;
+   PRAGMA foreign_keys = 1;
+   ALTER TABLE p2 RENAME TO p3;
+   SELECT sql FROM sqlite_master WHERE name LIKE 'c%';
+ } {
+   {CREATE TABLE c1(x REFERENCES "p3")}
+   {CREATE TABLE c2(x, FOREIGN KEY (x) REFERENCES "p3")}
+   {CREATE TABLE c3(x, FOREIGN KEY (x) REFERENCES "p3"(a))}
+ }
  
  finish_test
 -