-C Fix\sharmless\scompiler\swarning\sin\sMSVC\s2015.
-D 2015-07-21T19:22:35.266
+C The\ssqlite3ExprCodeGetColumn()\sis\snot\sguaranteed\sto\sput\sthe\sresult\sin\sthe\nregister\srequested.\s\s\sFix\sthe\sskip-scan\scode\sgenerator\sfor\sWITHOUT\sROWID\ntables\sso\sthat\sit\salways\schecks\sthe\sregister\sand\scopies\sthe\sresult\sif\sit\nlands\sin\sthe\swrong\sregister.\s\sFix\sfor\sticket\s[8fd39115d8f46ece70e7d4b3].
+D 2015-07-23T16:39:33.653
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 6b439e21d6dabede337772b85959340d37bb17bb
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/walker.c c253b95b4ee44b21c406e2a1052636c31ea27804
F src/where.c 909eba3b6db984eb2adfbca9de2c237ee7056adb
F src/whereInt.h 5f87e3c4b0551747d119730dfebddd3c54f04047
-F src/wherecode.c 0669481cabaf5caf934b6bb825df15bc57f60d40
+F src/wherecode.c 5da5049224f12db314931ae7e0919b4914a2a0b1
F src/whereexpr.c 9ce1c9cfedbf80c93c7d899497025ec8256ce652
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
F test/show_speedtest1_rtree.tcl 32e6c5f073d7426148a6936a0408f4b5b169aba5
F test/shrink.test 06deac10d591186017466ce67d10645150bfdeec
F test/sidedelete.test f0ad71abe6233e3b153100f3b8d679b19a488329
-F test/skipscan1.test 2ddfe5d168462170c4487f534e2a99fb006b2076
+F test/skipscan1.test d37a75b4be4eb9dedeb69b4f38b1d0a74b5021d7
F test/skipscan2.test d1d1450952b7275f0b0a3a981f0230532743951a
F test/skipscan3.test ec5bab3f81c7038b43450e7b3062e04a198bdbb5
F test/skipscan5.test 67817a4b6857c47e0e33ba3e506da6f23ef68de2
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P e0a9978077a1b4e5988681438e4efff93920e574
-R cbf3f19f824b2b3f6f21c8e30bb2d4e0
-U mistachkin
-Z 106701e31e609f92431b2c0ad60fc867
+P 01c8b9ccfa0f336dfead7c004de3de571753f707
+R 23f175ee7b2eb2636faea6e0fbfacef1
+U drh
+Z 1c321a77d86fb7457929725064e82b93
-01c8b9ccfa0f336dfead7c004de3de571753f707
\ No newline at end of file
+793e206f9032d9205bdb3f447b136bed9a25fa22
\ No newline at end of file
r = sqlite3GetTempRange(pParse, nPk);
for(iPk=0; iPk<nPk; iPk++){
int iCol = pPk->aiColumn[iPk];
- sqlite3ExprCodeGetColumn(pParse, pTab, iCol, iCur, r+iPk, 0);
+ int rx;
+ rx = sqlite3ExprCodeGetColumn(pParse, pTab, iCol, iCur,r+iPk,0);
+ if( rx!=r+iPk ){
+ sqlite3VdbeAddOp2(v, OP_SCopy, rx, r+iPk);
+ }
}
/* Check if the temp table already contains this key. If so,
EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE b=1;
} {~/ANY/}
+# Ticket 8fd39115d8f46ece70e7d4b3c481d1bd86194746 2015-07-23
+# Incorrect code generated for a skipscan within an OR optimization
+# on a WITHOUT ROWID table.
+#
+do_execsql_test skipscan1-8.1 {
+ DROP TABLE IF EXISTS t1;
+ CREATE TABLE t1(x, y, PRIMARY KEY(x,y)) WITHOUT ROWID;
+ INSERT INTO t1(x,y) VALUES(1,'AB');
+ INSERT INTO t1(x,y) VALUES(2,'CD');
+ ANALYZE;
+ DROP TABLE IF EXISTS sqlite_stat4;
+ DELETE FROM sqlite_stat1;
+ INSERT INTO sqlite_stat1(tbl,idx,stat) VALUES('t1','t1','1000000 100 1');
+ ANALYZE sqlite_master;
+ SELECT * FROM t1
+ WHERE (y = 'AB' AND x <= 4)
+ OR (y = 'EF' AND x = 5);
+} {1 AB}
+do_execsql_test skipscan1-8.1eqp {
+ EXPLAIN QUERY PLAN
+ SELECT * FROM t1
+ WHERE (y = 'AB' AND x <= 4)
+ OR (y = 'EF' AND x = 5);
+} {/ANY/}
+do_execsql_test skipscan1-8.2 {
+ SELECT * FROM t1
+ WHERE y = 'AB' OR (y = 'CD' AND x = 2)
+ ORDER BY +x;
+} {1 AB 2 CD}
+
finish_test