-C Fix\sthe\sORDER\sBY\swith\sIN\sconstraint\slogic\sso\sthat\sit\sworks\swith\sall\ncombinations\sof\sDESC\son\sthe\sORDER\sBY\sclause,\son\sthe\sRHS\sof\sthe\sIN\soperator,\nand\sin\sthe\sindex\sused\sby\sORDER\sBY\sand\sIN.\s\s\nFix\sfor\sticket\s[4dd95f6943fbd18].
-D 2013-03-13T00:13:25.181
+C Enhance\stests\sfor\sticket\s[4dd95f6943].
+D 2013-03-13T07:02:04.083
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 9a804abbd3cae82d196e4d33aba13239e32522a5
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F test/tkt-3a77c9714e.test 32bb28afa8c63fc76e972e996193139b63551ed9
F test/tkt-3fe897352e.test 10de1a67bd5c66b238a4c96abe55531b37bb4f00
F test/tkt-4a03edc4c8.test 2865e4edbc075b954daa82f8da7cc973033ec76e
-F test/tkt-4dd95f6943.test b7fad82ce61a2650fa4861f903ee002c253730c3
+F test/tkt-4dd95f6943.test 3d0ce415d2ee15d3d564121960016b9c7be79407
F test/tkt-54844eea3f.test a12b851128f46a695e4e378cca67409b9b8f5894
F test/tkt-5d863f876e.test c9f36ca503fa154a3655f92a69d2c30da1747bfa
F test/tkt-5e10420e8d.test 904d1687b3c06d43e5b3555bbcf6802e7c0ffd84
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
-P c9a75d890f06cf3806d7b8879824a11d3a8e7016 7e7356f1552cd53ea363d1ded3b2c221c9d0be01
-R cf70d6af777786d8b14ff574243c0031
-U drh
-Z ef3fb703f5f65c616953904db1b81e9f
+P 839aa91faf1db7025d90fa3c65e50efb829b053b
+R ad71abb6cd4a6ebc6857153126653bad
+U dan
+Z 69b39b8becc09fc4758d1b797bf5f4f2
CREATE TABLE t3(a, b);
INSERT INTO t3 VALUES (2, 2), (4, 4), (5, 5);
- CREATE INDEX t3i1 ON t3(a ASC);
- CREATE INDEX t3i2 ON t3(b DESC);
+ CREATE UNIQUE INDEX t3i1 ON t3(a ASC);
+ CREATE UNIQUE INDEX t3i2 ON t3(b DESC);
}
foreach {tn1 idx} {
do_execsql_test 2.$tn1.2 $idx
foreach {tn2 inexpr} {
- 1 "(2, 4, 5)"
- 2 "(SELECT a FROM t3)"
- 3 "(SELECT b FROM t3)"
+ 3 "(2, 4, 5)"
+ 4 "(SELECT a FROM t3)"
+ 5 "(SELECT b FROM t3)"
} {
- do_execsql_test 2.$tn1.3 "
+ do_execsql_test 2.$tn1.$tn2.1 "
SELECT x, y FROM t2 WHERE x = 1 AND y IN $inexpr ORDER BY x ASC, y ASC;
" {1 2 1 4 1 5}
- do_execsql_test 2.$tn1.4 "
+
+ do_execsql_test 2.$tn1.$tn2.2 "
SELECT x, y FROM t2 WHERE x = 2 AND y IN $inexpr ORDER BY x ASC, y DESC;
" {2 5 2 4 2 2}
- do_execsql_test 2.$tn1.5 "
+
+ do_execsql_test 2.$tn1.$tn2.3 "
SELECT x, y FROM t2 WHERE x = 3 AND y IN $inexpr ORDER BY x DESC, y ASC;
" {3 2 3 4 3 5}
- do_execsql_test 2.$tn1.6 "
+
+ do_execsql_test 2.$tn1.$tn2.4 "
SELECT x, y FROM t2 WHERE x = 4 AND y IN $inexpr ORDER BY x DESC, y DESC;
" {4 5 4 4 4 2}
+
+ do_execsql_test 2.$tn1.$tn2.5 "
+ SELECT a, x, y FROM t2, t3 WHERE a = 4 AND x = 1 AND y IN $inexpr
+ ORDER BY a, x ASC, y ASC;
+ " {4 1 2 4 1 4 4 1 5}
+ do_execsql_test 2.$tn1.$tn2.6 "
+ SELECT a, x, y FROM t2, t3 WHERE a = 2 AND x = 1 AND y IN $inexpr
+ ORDER BY x ASC, y ASC;
+ " {2 1 2 2 1 4 2 1 5}
+
+ do_execsql_test 2.$tn1.$tn2.7 "
+ SELECT a, x, y FROM t2, t3 WHERE a = 4 AND x = 1 AND y IN $inexpr
+ ORDER BY a, x ASC, y DESC;
+ " {4 1 5 4 1 4 4 1 2}
+ do_execsql_test 2.$tn1.8 "
+ SELECT a, x, y FROM t2, t3 WHERE a = 2 AND x = 1 AND y IN $inexpr
+ ORDER BY x ASC, y DESC;
+ " {2 1 5 2 1 4 2 1 2}
+
+ do_execsql_test 2.$tn1.$tn2.9 "
+ SELECT a, x, y FROM t2, t3 WHERE a = 4 AND x = 1 AND y IN $inexpr
+ ORDER BY a, x DESC, y ASC;
+ " {4 1 2 4 1 4 4 1 5}
+ do_execsql_test 2.$tn1.10 "
+ SELECT a, x, y FROM t2, t3 WHERE a = 2 AND x = 1 AND y IN $inexpr
+ ORDER BY x DESC, y ASC;
+ " {2 1 2 2 1 4 2 1 5}
+
+ do_execsql_test 2.$tn1.$tn2.11 "
+ SELECT a, x, y FROM t2, t3 WHERE a = 4 AND x = 1 AND y IN $inexpr
+ ORDER BY a, x DESC, y DESC;
+ " {4 1 5 4 1 4 4 1 2}
+ do_execsql_test 2.$tn1.$tn2.12 "
+ SELECT a, x, y FROM t2, t3 WHERE a = 2 AND x = 1 AND y IN $inexpr
+ ORDER BY x DESC, y DESC;
+ " {2 1 5 2 1 4 2 1 2}
}
}
CREATE TABLE t8(y);
INSERT INTO t8 VALUES (1), (2), (3);
+}
- CREATE UNIQUE INDEX i8 ON t8(y DESC);
- SELECT x FROM t7 WHERE x IN (SELECT y FROM t8) ORDER BY x ASC;
-} {1 2 3}
+foreach {tn idxdir sortdir sortdata} {
+ 1 ASC ASC {1 2 3}
+ 2 ASC DESC {3 2 1}
+ 3 DESC ASC {1 2 3}
+ 4 ASC DESC {3 2 1}
+} {
+
+ do_execsql_test 3.$tn "
+ DROP INDEX IF EXISTS i8;
+ CREATE UNIQUE INDEX i8 ON t8(y $idxdir);
+ SELECT x FROM t7 WHERE x IN (SELECT y FROM t8) ORDER BY x $sortdir;
+ " $sortdata
+}
finish_test