From: dan Date: Thu, 6 Apr 2017 14:56:26 +0000 (+0000) Subject: Fix the ".lint fkey" shell command for cases where the child key is also an X-Git-Tag: version-3.19.0~90 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=54e2efcd2f8fcf07cc796b0881d4ac5b29d7d474;p=thirdparty%2Fsqlite.git Fix the ".lint fkey" shell command for cases where the child key is also an INTEGER PRIMARY KEY. FossilOrigin-Name: 48826b222c110a90996a84605318ea6b1e502b8c5129f4d561f8350dbdbcd264 --- diff --git a/manifest b/manifest index 768c769f24..50c2d8faef 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sthe\s".lint\sfkey"\sshell\stool\scommand\sso\sthat\sit\sworks\sfor\sforeign\skeys\sthat\nrefer\simplicitly\sto\sprimary\skey\scolumns\swith\snon-BINARY\sdefault\scollation\nsequences. -D 2017-04-06T12:06:56.710 +C Fix\sthe\s".lint\sfkey"\sshell\scommand\sfor\scases\swhere\sthe\schild\skey\sis\salso\san\nINTEGER\sPRIMARY\sKEY. +D 2017-04-06T14:56:26.887 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc a4c0613a18663bda56d8cf76079ab6590a7c3602e54befb4bbdef76bcaa38b6a @@ -402,7 +402,7 @@ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c 3e518b962d932a997fae373366880fc028c75706 F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac F src/select.c afcf31d8ed7c890328a31d3f350467ccd273af345b24562382b398d6d9cd0664 -F src/shell.c 358aaf2642749697283969d3287bd1088047b08b3f5b98959aa5d1658e358199 +F src/shell.c e9fede684f847402c0373fe5e270918e6ef47f51e57ba5aebff121d8c2bc1ea8 F src/sqlite.h.in ab77e511620eebbd4ed7e4f52fae697b6870dda66c945acd2d3066f99c98e17e F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 58fd0676d3111d02e62e5a35992a7d3da5d3f88753acc174f2d37b774fbbdd28 @@ -1120,7 +1120,7 @@ F test/shell2.test e242a9912f44f4c23c3d1d802a83e934e84c853b F test/shell3.test 9b95ba643eaa228376f06a898fb410ee9b6e57c1 F test/shell4.test 89ad573879a745974ff2df20ff97c5d6ffffbd5d F test/shell5.test 50a732c1c2158b1cd62cf53975ce1ea7ce6b9dc9 -F test/shell6.test 0abf96c5ba713b6868ba93b9c787d636e9a95b437c7fd410b4c5a0178503f18b +F test/shell6.test ab1592ebe881371f651f18ee6a0df21cbfb5310f88cb832ab642d4038f679772 F test/shell7.test 07751911b294698e0c5df67bcbd29e7d2f0f2907 F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3 F test/show_speedtest1_rtree.tcl 32e6c5f073d7426148a6936a0408f4b5b169aba5 @@ -1570,7 +1570,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 c5f1a2b6eb3df879d247a22b3f92f4f74fcf4f0d219450abc420ae6d02481324 -R 38865868241e76c5f4d0751e4191f43b +P 327eff25ba2420267cc8dc49dd3c3aab45f4bf9e060d1ad480e25d016d21f3ba +R 260410c30d599e0993c58e23cef69640 U dan -Z 648bbd72dcc7b5fa391514717251386d +Z 25db1dc906fb1b522f7b655980ddd579 diff --git a/manifest.uuid b/manifest.uuid index 3a5b11b74f..3814e9cddf 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -327eff25ba2420267cc8dc49dd3c3aab45f4bf9e060d1ad480e25d016d21f3ba \ No newline at end of file +48826b222c110a90996a84605318ea6b1e502b8c5129f4d561f8350dbdbcd264 \ No newline at end of file diff --git a/src/shell.c b/src/shell.c index ab26865f3b..b28a1421d3 100644 --- a/src/shell.c +++ b/src/shell.c @@ -4354,6 +4354,7 @@ static int lintFkeyIndexes( "GROUP BY s.name, f.id " "ORDER BY (CASE WHEN ? THEN f.[table] ELSE s.name END)" ; + const char *zGlobIPK = "SEARCH TABLE * USING INTEGER PRIMARY KEY (rowid=?)"; for(i=2; i x1(c,b,a) } + 9 { + CREATE TABLE p1(a, b UNIQUE); + CREATE TABLE c1(x INTEGER PRIMARY KEY REFERENCES p1(b)); + } { + } + } { forcedelete test.db sqlite3 db test.db