1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00

Test case and fix for the specific failure of ticket [b351d95f9cd5ef17e9d9dbae].

FossilOrigin-Name: 57789cfe674dbbd4d5e4663774d1e7c541f7bdc4
This commit is contained in:
drh
2010-09-28 04:14:03 +00:00
parent 7153d1fb6e
commit 8b1db07f4e
4 changed files with 63 additions and 10 deletions

View File

@@ -1,8 +1,8 @@
-----BEGIN PGP SIGNED MESSAGE----- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Hash: SHA1
C Use\sOP_Copy\srather\sthan\sOP_SCopy\sat\sone\spoint\sin\saggregate\sprocessing\swhere\nit\sis\sneeded\sto\savoid\sshallow-copy\smisuse. C Test\scase\sand\sfix\sfor\sthe\sspecific\sfailure\sof\sticket\s[b351d95f9cd5ef17e9d9dbae].
D 2010-09-28T03:55:03 D 2010-09-28T04:14:04
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in c599a15d268b1db2aeadea19df2adc3bf2eb6bee F Makefile.in c599a15d268b1db2aeadea19df2adc3bf2eb6bee
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -130,7 +130,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac
F src/ctime.c 4f3aadad62c6c9f0d4e5a96718516ac4e3c598df F src/ctime.c 4f3aadad62c6c9f0d4e5a96718516ac4e3c598df
F src/date.c 5dd8448a0bfea8d31fb14cff487d0c06ff8c8b20 F src/date.c 5dd8448a0bfea8d31fb14cff487d0c06ff8c8b20
F src/delete.c 7ed8a8c8b5f748ece92df173d7e0f7810c899ebd F src/delete.c 7ed8a8c8b5f748ece92df173d7e0f7810c899ebd
F src/expr.c e211e57c9667630971c285bb9b3e58a8986e8677 F src/expr.c 7b45c50fc28df4d97db66900f1f9f04cf6db956d
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
F src/fkey.c 17950a28f28b23e8ad3feaac5fc88c324d2f600a F src/fkey.c 17950a28f28b23e8ad3feaac5fc88c324d2f600a
F src/func.c caa6c5134106d95cced4db80ce3fdcdde4f6c8d4 F src/func.c caa6c5134106d95cced4db80ce3fdcdde4f6c8d4
@@ -670,6 +670,7 @@ F test/tkt-78e04e52ea.test fb5430c675e708f5cbafdf3e7e5593da5145a527
F test/tkt-80e031a00f.test 9a154173461a4dbe2de49cda73963e04842d52f7 F test/tkt-80e031a00f.test 9a154173461a4dbe2de49cda73963e04842d52f7
F test/tkt-94c04eaadb.test be5ea61cb04dfdc047d19b5c5a9e75fa3da67a7f F test/tkt-94c04eaadb.test be5ea61cb04dfdc047d19b5c5a9e75fa3da67a7f
F test/tkt-9d68c883.test 458f7d82a523d7644b54b497c986378a7d8c8b67 F test/tkt-9d68c883.test 458f7d82a523d7644b54b497c986378a7d8c8b67
F test/tkt-b351d95f9.test d14a503c414c5c58fdde3e80f9a3cfef986498c0
F test/tkt-cbd054fa6b.test f14f97ea43662e6f70c9e63287081e8be5d9d589 F test/tkt-cbd054fa6b.test f14f97ea43662e6f70c9e63287081e8be5d9d589
F test/tkt-d11f09d36e.test fb44f7961aa6d4b632fb7b9768239832210b5fc7 F test/tkt-d11f09d36e.test fb44f7961aa6d4b632fb7b9768239832210b5fc7
F test/tkt-d82e3f3721.test 731359dfdcdb36fea0559cd33fec39dd0ceae8e6 F test/tkt-d82e3f3721.test 731359dfdcdb36fea0559cd33fec39dd0ceae8e6
@@ -870,14 +871,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P d0342f4bb9d25dd1dba3957778faa993fb9cc81c P a5eefd5239bf5b4f9d0bdfb312f5b33c0a196178
R 16dd6c78a696d651854b421ee534566c R 36856028231c92221c652d29d4159436
U drh U drh
Z 4a453c5f4cf28cf528b0f5f5e2516331 Z f0e3dfbf24a2c49fc97160b41987fc03
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux) Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFMoWcboxKgR168RlERAqEbAJ9Sj7+X+bLVtX69M2DquI9xnDygMwCeIAg1 iD8DBQFMoWuSoxKgR168RlERAnDOAJwOLuUj1ayfQejwg1yHNLdmppbBugCfYcmv
Rsdjw2kXv6T6/m0kOdhbDK8= yrg5uSJhrvomshkiSCVsgBk=
=iNuQ =6EL+
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----

View File

@@ -1 +1 @@
a5eefd5239bf5b4f9d0bdfb312f5b33c0a196178 57789cfe674dbbd4d5e4663774d1e7c541f7bdc4

View File

@@ -2774,6 +2774,11 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
opCompare.op = TK_EQ; opCompare.op = TK_EQ;
opCompare.pLeft = &cacheX; opCompare.pLeft = &cacheX;
pTest = &opCompare; pTest = &opCompare;
/* Ticket b351d95f9cd5ef17e9d9dbae18f5ca8611190001:
** The value in regFree1 might get SCopy-ed into the file result.
** So make sure that the regFree1 register is not reused for other
** purposes and possibly overwritten. */
regFree1 = 0;
} }
for(i=0; i<nExpr; i=i+2){ for(i=0; i<nExpr; i=i+2){
sqlite3ExprCachePush(pParse); sqlite3ExprCachePush(pParse);

47
test/tkt-b351d95f9.test Normal file
View File

@@ -0,0 +1,47 @@
# 2010 September 28
#
# 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 [b351d95f9cd5ef17e9d9dbae18f5ca8611190001] has been
# resolved.
#
set testdir [file dirname $argv0]
source $testdir/tester.tcl
source $testdir/lock_common.tcl
source $testdir/malloc_common.tcl
do_test tkt-b351d95.1 {
execsql {
CREATE table t1(a,b);
INSERT INTO t1 VALUES('name1','This is a test');
INSERT INTO t1 VALUES('name2','xyz');
CREATE TABLE t2(x,y);
INSERT INTO t2 SELECT a, CASE b WHEN 'xyz' THEN null ELSE b END FROM t1;
SELECT x, y FROM t2 ORDER BY x;
}
} {name1 {This is a test} name2 {}}
do_test tkt-b351d95.2 {
execsql {
DELETE FROM t2;
INSERT INTO t2 SELECT a, coalesce(b,a) FROM t1;
SELECT x, y FROM t2 ORDER BY x;
}
} {name1 {This is a test} name2 xyz}
do_test tkt-b351d95.3 {
execsql {
DELETE FROM t2;
INSERT INTO t2 SELECT a, coalesce(b,a) FROM t1;
SELECT x, y BETWEEN 'xy' AND 'xz' FROM t2 ORDER BY x;
}
} {name1 0 name2 1}
finish_test