If a column is both UNIQUE and a PRIMARY KEY, make sure the PRIMARY KEY
designation takes precedence. FossilOrigin-Name: d871a7921722bb0fef6d51e1110a9703ddff78c8
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
C Remove\ssuperfluous\sdefine\sfrom\sthe\sMSVC\smakefile.
|
||||
D 2015-03-21T02:25:29.401
|
||||
C If\sa\scolumn\sis\sboth\sUNIQUE\sand\sa\sPRIMARY\sKEY,\smake\ssure\sthe\sPRIMARY\sKEY\ndesignation\stakes\sprecedence.
|
||||
D 2015-03-21T02:58:20.771
|
||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||
F Makefile.in 88a3e6261286db378fdffa1124cad11b3c05f5bb
|
||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||
@@ -176,7 +176,7 @@ F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79
|
||||
F src/btree.c d4d52fb14e863cff9dbc7c746e9048ec0967a555
|
||||
F src/btree.h 969adc948e89e449220ff0ff724c94bb2a52e9f1
|
||||
F src/btreeInt.h 2bfefc01875d8da066504c233ec259fcb3b2ef72
|
||||
F src/build.c ba45ebd02904e84d98839a6ea74c3eb948596587
|
||||
F src/build.c 0419bba592c22f6d00e6d57a2ca7136720d02c1a
|
||||
F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0
|
||||
F src/complete.c 198a0066ba60ab06fc00fba1998d870a4d575463
|
||||
F src/ctime.c 98f89724adc891a1a4c655bee04e33e716e05887
|
||||
@@ -1190,7 +1190,7 @@ F test/without_rowid2.test af260339f79d13cb220288b67cd287fbcf81ad99
|
||||
F test/without_rowid3.test 1081aabf60a1e1123b7f9a8f6ae19954351843b0
|
||||
F test/without_rowid4.test 4e08bcbaee0399f35d58b5581881e7a6243d458a
|
||||
F test/without_rowid5.test 61256715b686359df48ca1742db50cc7e3e7b862
|
||||
F test/without_rowid6.test deddb78ef539c355bddec00cdfaea6c56efd8b3f
|
||||
F test/without_rowid6.test db0dbf03c49030aa3c1ba5f618620334bd2baf5f
|
||||
F test/wordcount.c 9915e06cb33d8ca8109b8700791afe80d305afda
|
||||
F test/zeroblob.test caaecfb4f908f7bc086ed238668049f96774d688
|
||||
F test/zerodamage.test cf6748bad89553cc1632be51a6f54e487e4039ac
|
||||
@@ -1246,7 +1246,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
|
||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P 737630b87314283b2c38790ace9d25ec05f81f4a
|
||||
R bbf7713d7bc160a26b464271593d133d
|
||||
U mistachkin
|
||||
Z d79979d0d3fded9d4339ee09acdaf62b
|
||||
P 880d2513a0fb084fae82080401b108fb13e61478
|
||||
R 705f61dec20eb9df7c2db39aa0eef35e
|
||||
U drh
|
||||
Z 19c081d9e2a5c29193a61d5955352cbc
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
880d2513a0fb084fae82080401b108fb13e61478
|
||||
d871a7921722bb0fef6d51e1110a9703ddff78c8
|
||||
@@ -3183,6 +3183,7 @@ Index *sqlite3CreateIndex(
|
||||
pIdx->onError = pIndex->onError;
|
||||
}
|
||||
}
|
||||
pRet = pIdx;
|
||||
goto exit_create_index;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,5 +37,81 @@ do_execsql_test without_rowid6-140 {
|
||||
SELECT c FROM t1 ORDER BY b LIMIT 5;
|
||||
} {x1y x2y x3y x4y x5y}
|
||||
|
||||
# Column t1.b starts out as a unique index, but that index is
|
||||
# subsequently converted into a PRIMARY KEY.
|
||||
#
|
||||
do_execsql_test without_rowid6-200 {
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(
|
||||
a UNIQUE,
|
||||
b UNIQUE,
|
||||
c UNIQUE,
|
||||
PRIMARY KEY(b)
|
||||
) WITHOUT ROWID;
|
||||
INSERT INTO t1(a,b,c) VALUES(1,8,3),(4,5,6),(7,2,9);
|
||||
SELECT a FROM t1 WHERE b>3 ORDER BY b;
|
||||
} {4 1}
|
||||
do_execsql_test without_rowid6-210 {
|
||||
EXPLAIN QUERY PLAN
|
||||
SELECT a FROM t1 WHERE b>3 ORDER BY b;
|
||||
} {/SEARCH TABLE t1 USING PRIMARY KEY .b>../}
|
||||
do_execsql_test without_rowid6-220 {
|
||||
PRAGMA index_list(t1);
|
||||
} {/sqlite_autoindex_t1_2 1 pk/}
|
||||
|
||||
do_execsql_test without_rowid6-300 {
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(
|
||||
a UNIQUE,
|
||||
b PRIMARY KEY,
|
||||
c UNIQUE,
|
||||
UNIQUE(b)
|
||||
) WITHOUT ROWID;
|
||||
INSERT INTO t1(a,b,c) VALUES(1,8,3),(4,5,6),(7,2,9);
|
||||
SELECT a FROM t1 WHERE b>3 ORDER BY b;
|
||||
} {4 1}
|
||||
do_execsql_test without_rowid6-310 {
|
||||
EXPLAIN QUERY PLAN
|
||||
SELECT a FROM t1 WHERE b>3 ORDER BY b;
|
||||
} {/SEARCH TABLE t1 USING PRIMARY KEY .b>../}
|
||||
do_execsql_test without_rowid6-320 {
|
||||
PRAGMA index_list(t1);
|
||||
} {/sqlite_autoindex_t1_2 1 pk/}
|
||||
|
||||
do_execsql_test without_rowid6-400 {
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(
|
||||
a UNIQUE,
|
||||
b UNIQUE PRIMARY KEY,
|
||||
c UNIQUE
|
||||
) WITHOUT ROWID;
|
||||
INSERT INTO t1(a,b,c) VALUES(1,8,3),(4,5,6),(7,2,9);
|
||||
SELECT a FROM t1 WHERE b>3 ORDER BY b;
|
||||
} {4 1}
|
||||
do_execsql_test without_rowid6-410 {
|
||||
EXPLAIN QUERY PLAN
|
||||
SELECT a FROM t1 WHERE b>3 ORDER BY b;
|
||||
} {/SEARCH TABLE t1 USING PRIMARY KEY .b>../}
|
||||
do_execsql_test without_rowid6-420 {
|
||||
PRAGMA index_list(t1);
|
||||
} {/sqlite_autoindex_t1_2 1 pk/}
|
||||
|
||||
do_execsql_test without_rowid6-500 {
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(a,b,c,
|
||||
UNIQUE(b,c),
|
||||
PRIMARY KEY(b,c)
|
||||
) WITHOUT ROWID;
|
||||
INSERT INTO t1(a,b,c) VALUES(1,8,3),(4,5,6),(7,2,9);
|
||||
SELECT a FROM t1 WHERE b>3 ORDER BY b;
|
||||
} {4 1}
|
||||
do_execsql_test without_rowid6-510 {
|
||||
EXPLAIN QUERY PLAN
|
||||
SELECT a FROM t1 WHERE b>3 ORDER BY b;
|
||||
} {/SEARCH TABLE t1 USING PRIMARY KEY .b>../}
|
||||
do_execsql_test without_rowid6-520 {
|
||||
PRAGMA index_list(t1);
|
||||
} {/sqlite_autoindex_t1_1 1 pk/}
|
||||
|
||||
|
||||
finish_test
|
||||
|
||||
Reference in New Issue
Block a user