-C Fix\sa\sharmless\scompiler\swarning\sin\sVS2013.
-D 2014-02-08T13:22:36.857
+C Make\ssure\sthat\svirtual\sWHERE-clause\sterms\sdo\snot\sget\stransformed\sinto\sreal\nterms\swhen\sprocessing\sset\sof\sOR-connected\sterms.\nFix\sfor\sticket\s[4c86b126f22ad].
+D 2014-02-11T03:50:49.817
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/wal.c 7dc3966ef98b74422267e7e6e46e07ff6c6eb1b4
F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
F src/walker.c 11edb74d587bc87b33ca96a5173e3ec1b8389e45
-F src/where.c 67ae3b5e97ecff36c70cb61ccc7d74cf228f1596
+F src/where.c 540f52385a653d7cc077e381875ec02bf4c80053
F src/whereInt.h 96a75c61f1d2b9d4a8e4bb17d89deb0cf7cba358
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F test/tkt-3a77c9714e.test b08bca26de1140bdf004a37716582a43d7bd8be8
F test/tkt-3fe897352e.test 27e26eb0f1811aeba4d65aba43a4c52e99da5e70
F test/tkt-4a03edc4c8.test 91c0e135888cdc3d4eea82406a44b05c8c1648d0
+F test/tkt-4c86b126f2.test cbcc611becd0396890169ab23102dd70048bbc9a
F test/tkt-4dd95f6943.test 3d0ce415d2ee15d3d564121960016b9c7be79407
F test/tkt-54844eea3f.test a12b851128f46a695e4e378cca67409b9b8f5894
F test/tkt-5d863f876e.test c9f36ca503fa154a3655f92a69d2c30da1747bfa
F test/where5.test fdf66f96d29a064b63eb543e28da4dfdccd81ad2
F test/where6.test 5da5a98cec820d488e82708301b96cb8c18a258b
F test/where7.test 5a4b0abc207d71da4deecd734ad8579e8dd40aa8
-F test/where8.test d2b4fd6d7b7c5d44f590182a05033d78a14c00a1
+F test/where8.test 84033c4da466d90fe7ef0152661ff67fd218105f
F test/where8m.test da346596e19d54f0aba35ebade032a7c47d79739
F test/where9.test 4f3eab951353a3ae164befc521c777dfa903e46c
F test/whereA.test 4d253178d135ec46d1671e440cd8f2b916aa6e6b
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff
-P e816dd924619db5f766de6df74ea2194f3e3b538
-R 73e287cc1a6edbdb5e3e210fabc10684
-T *branch * branch-3.8.3
-T *sym-branch-3.8.3 *
-T -sym-trunk *
+P 35f2793db5eb58484554477a23f8320843ebcd71
+Q +c950d6c4117d076f871518e738cdf9e8c46a19fc
+R bd7df5b41e7b9bc49f2a2bbd8c71e8eb
U drh
-Z 85563bddc8fc07f7442defb50aa2e866
+Z 6687b6d2c51d9496d292594442d38fc4
-35f2793db5eb58484554477a23f8320843ebcd71
\ No newline at end of file
+de635e09605acbeb319a36ce11c70ad328fa2556
\ No newline at end of file
Expr *pExpr = pWC->a[iTerm].pExpr;
if( &pWC->a[iTerm] == pTerm ) continue;
if( ExprHasProperty(pExpr, EP_FromJoin) ) continue;
- if( pWC->a[iTerm].wtFlags & (TERM_ORINFO) ) continue;
+ testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO );
+ testcase( pWC->a[iTerm].wtFlags & TERM_VIRTUAL );
+ if( pWC->a[iTerm].wtFlags & (TERM_ORINFO|TERM_VIRTUAL) ) continue;
if( (pWC->a[iTerm].eOperator & WO_ALL)==0 ) continue;
pExpr = sqlite3ExprDup(db, pExpr, 0);
pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr);
--- /dev/null
+# 2014-02-11
+#
+# The author disclaims copyright to this source code. In place of
+# a legal notice, here is a blessing:
+#
+# May you do good and not evil.
+# May you find forgiveness for yourself and forgive others.
+# May you share freely, never taking more than you give.
+#
+#***********************************************************************
+# This file implements regression tests for SQLite library. Specifically,
+# it tests that ticket [4c86b126f22ad548fee0125337bdc9366912d9ac].
+#
+# When SQLite is compiled using SQLITE_ENABLE_STAT3 or SQLITE_ENABLE_STAT4,
+# it gets the wrong answer...
+#
+# The problem was introduced in SQLite 3.8.1.
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+
+do_execsql_test tkt-4c86b126f2-1.1 {
+ CREATE TABLE nodes(
+ local_relpath TEXT PRIMARY KEY,
+ moved_to TEXT
+ );
+ INSERT INTO nodes VALUES('A',NULL);
+ INSERT INTO nodes VALUES('A/B',NULL);
+ INSERT INTO nodes VALUES('',NULL);
+ INSERT INTO nodes VALUES('A/B/C-move',NULL);
+ INSERT INTO nodes VALUES('A/B/C','A/B/C-move');
+ INSERT INTO nodes VALUES('A/B-move',NULL);
+ INSERT INTO nodes VALUES('A/B-move/C-move',NULL);
+ INSERT INTO nodes VALUES('A/B-move/C','x');
+ SELECT local_relpath, moved_to
+ FROM nodes
+ WHERE (local_relpath = 'A/B' OR
+ ((local_relpath > 'A/B/') AND (local_relpath < 'A/B0')))
+ AND moved_to IS NOT NULL;
+} {A/B/C A/B/C-move}
+
+do_execsql_test tkt-4c86b126f2-2.1 {
+ CREATE TABLE t1(x TEXT UNIQUE, y TEXT UNIQUE, z);
+ INSERT INTO t1 VALUES('ghi','jkl','y');
+ SELECT * FROM t1 WHERE (x='ghi' OR y='jkl') AND z IS NOT NULL;
+} {ghi jkl y}
+
+
+finish_test
do_test where8-3.5 {
execsql_status {
- SELECT a, d FROM t1, t2 WHERE (a = 2 OR a = 3) AND (d = a OR e = 'sixteen')
+ SELECT a, d FROM t1, t2 WHERE (a = 2 OR a = 3) AND (d = +a OR e = 'sixteen')
ORDER BY +a, +d;
}
} {2 2 2 4 3 3 3 4 0 1}
execsql_status {
SELECT a, d
FROM t1, t2
- WHERE (a = 2 OR a = 3) AND (d = a OR e = 'sixteen')
+ WHERE (a = 2 OR a = 3) AND (d = +a OR e = 'sixteen')
ORDER BY t1.rowid
}
} {2 2 2 4 3 3 3 4 0 1}