1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

Merge together the os_unix.c fix of [aa6acfa8ca] and the trigger fix of

[dee1b8eb40].

FossilOrigin-Name: 1e2c6e134e04dd22795ad4839874ec0edd9b0970
This commit is contained in:
drh
2009-08-25 12:11:00 +00:00
7 changed files with 65 additions and 26 deletions

View File

@@ -1 +1 @@
3.6.17 3.6.18

20
configure vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.62 for sqlite 3.6.17. # Generated by GNU Autoconf 2.62 for sqlite 3.6.18.
# #
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -743,8 +743,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package. # Identity of this package.
PACKAGE_NAME='sqlite' PACKAGE_NAME='sqlite'
PACKAGE_TARNAME='sqlite' PACKAGE_TARNAME='sqlite'
PACKAGE_VERSION='3.6.17' PACKAGE_VERSION='3.6.18'
PACKAGE_STRING='sqlite 3.6.17' PACKAGE_STRING='sqlite 3.6.18'
PACKAGE_BUGREPORT='' PACKAGE_BUGREPORT=''
# Factoring default headers for most tests. # Factoring default headers for most tests.
@@ -1487,7 +1487,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures sqlite 3.6.17 to adapt to many kinds of systems. \`configure' configures sqlite 3.6.18 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1552,7 +1552,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of sqlite 3.6.17:";; short | recursive ) echo "Configuration of sqlite 3.6.18:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@@ -1670,7 +1670,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
sqlite configure 3.6.17 sqlite configure 3.6.18
generated by GNU Autoconf 2.62 generated by GNU Autoconf 2.62
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1684,7 +1684,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by sqlite $as_me 3.6.17, which was It was created by sqlite $as_me 3.6.18, which was
generated by GNU Autoconf 2.62. Invocation command line was generated by GNU Autoconf 2.62. Invocation command line was
$ $0 $@ $ $0 $@
@@ -2065,7 +2065,7 @@ please regen with autoconf" >&2;}
fi fi
# The following RCS revision string applies to configure.in # The following RCS revision string applies to configure.in
# $Revision: 1.74 $ # $Revision: 1.56 $
######### #########
# Programs needed # Programs needed
@@ -13972,7 +13972,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by sqlite $as_me 3.6.17, which was This file was extended by sqlite $as_me 3.6.18, which was
generated by GNU Autoconf 2.62. Invocation command line was generated by GNU Autoconf 2.62. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@@ -14025,7 +14025,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\ ac_cs_version="\\
sqlite config.status 3.6.17 sqlite config.status 3.6.18
configured by $0, generated by GNU Autoconf 2.62, configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"

View File

@@ -1,11 +1,14 @@
C Fix\sa\sbad\sinteraction\sbetween\s"proxy-locking"\sand\s[http://www.sqlite.org/src/vdiff/aa6acfa8caa2ef59b4c16dfe42c4b5644da96905|aa6acfa8ca]. -----BEGIN PGP SIGNED MESSAGE-----
D 2009-08-25T05:57:48 Hash: SHA1
C Merge\stogether\sthe\sos_unix.c\sfix\sof\s[aa6acfa8ca]\sand\sthe\strigger\sfix\sof\n[dee1b8eb40].
D 2009-08-25T12:11:01
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 73ddeec9dd10b85876c5c2ce1fdce627e1dcc7f8 F Makefile.in 73ddeec9dd10b85876c5c2ce1fdce627e1dcc7f8
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F Makefile.vxworks 10010ddbf52e2503c7c49c7c0b7c7a096f8638a6 F Makefile.vxworks 10010ddbf52e2503c7c49c7c0b7c7a096f8638a6
F README b974cdc3f9f12b87e851b04e75996d720ebf81ac F README b974cdc3f9f12b87e851b04e75996d720ebf81ac
F VERSION 8fd162479ea9d3932d4492a889db80634742fe90 F VERSION 7260e7baf934051dee42458206e915b75570f41d
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
F addopcodes.awk 215333be9d99c260e076c3080a81dba3ae928c45 F addopcodes.awk 215333be9d99c260e076c3080a81dba3ae928c45
F art/2005osaward.gif 0d1851b2a7c1c9d0ccce545f3e14bca42d7fd248 F art/2005osaward.gif 0d1851b2a7c1c9d0ccce545f3e14bca42d7fd248
@@ -18,7 +21,7 @@ F art/powered_by_sqlite.gif 7fbcd7d3675391fd3d21672c14c05f5999eb60d1
F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977 F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977
F config.h.in 868fdb48c028421a203470e15c69ada15b9ba673 F config.h.in 868fdb48c028421a203470e15c69ada15b9ba673
F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55 F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55
F configure 486c870218ec915bd8edfece7109b6c864e82a5a F configure bccfdabb9982b7e88a33470741f1d6ba14a6b684
F configure.ac 14740970ddb674d92a9f5da89083dff1179014ff F configure.ac 14740970ddb674d92a9f5da89083dff1179014ff
F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538 F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538
@@ -199,7 +202,7 @@ F src/test_tclvar.c 9e42fa59d3d2f064b7ab8628e7ab2dc8a9fe93d4
F src/test_thread.c b8a1ab7ca1a632f18e8a361880d5d65eeea08eac F src/test_thread.c b8a1ab7ca1a632f18e8a361880d5d65eeea08eac
F src/test_wsd.c 3ae5101de6cbfda2720152ab659ea84079719241 F src/test_wsd.c 3ae5101de6cbfda2720152ab659ea84079719241
F src/tokenize.c af8a56e6a50c5042fc305bfa796275e9bf26ff2b F src/tokenize.c af8a56e6a50c5042fc305bfa796275e9bf26ff2b
F src/trigger.c 9bc5278d509d81ff0f9b52f0ce7239563d188e32 F src/trigger.c 545f3b8354001577a82c44fc6c4beac598b45b86
F src/update.c 4da327f706c0d0dfedf4d92154b1b5688bdea0ac F src/update.c 4da327f706c0d0dfedf4d92154b1b5688bdea0ac
F src/utf.c 3ca2c9461b8e942c68da28bfccd448663f536a6f F src/utf.c 3ca2c9461b8e942c68da28bfccd448663f536a6f
F src/util.c efb5f8e533d4beef545cf765cab5f7920b4c75f9 F src/util.c efb5f8e533d4beef545cf765cab5f7920b4c75f9
@@ -208,7 +211,7 @@ F src/vdbe.c 464e2e30b1287554a23cdaa0b6b010a9dcb5eb29
F src/vdbe.h 457b6c70f02885cec1f5225b5e6441d067b55d3f F src/vdbe.h 457b6c70f02885cec1f5225b5e6441d067b55d3f
F src/vdbeInt.h 831c254a6eef237ef4664c8381a0137586567007 F src/vdbeInt.h 831c254a6eef237ef4664c8381a0137586567007
F src/vdbeapi.c 0ab8ada7260b32031ca97f338caecf0812460624 F src/vdbeapi.c 0ab8ada7260b32031ca97f338caecf0812460624
F src/vdbeaux.c 4956536a636468fd07284028c39aab65ea99777e F src/vdbeaux.c 974a02fb1719799863492702877d52779d9e6b05
F src/vdbeblob.c a3f3e0e877fc64ea50165eec2855f5ada4477611 F src/vdbeblob.c a3f3e0e877fc64ea50165eec2855f5ada4477611
F src/vdbemem.c c4a5188ff43692f2ca78d3539ad4877e14b70712 F src/vdbemem.c c4a5188ff43692f2ca78d3539ad4877e14b70712
F src/vtab.c aedd76e8670d5a5379f93804398d3ba960125547 F src/vtab.c aedd76e8670d5a5379f93804398d3ba960125547
@@ -620,7 +623,7 @@ F test/tkt2942.test c5c87d179799ca6d1fbe83c815510b87cd5ec7ce
F test/tkt3080.test 1bca7579260920a66b4dd7e196e807c0f25ff804 F test/tkt3080.test 1bca7579260920a66b4dd7e196e807c0f25ff804
F test/tkt3093.test fbdbc5b4969244ad11f540759003e361fcaf391f F test/tkt3093.test fbdbc5b4969244ad11f540759003e361fcaf391f
F test/tkt3121.test 536df66a02838c26a12fe98639354ca1290ca68b F test/tkt3121.test 536df66a02838c26a12fe98639354ca1290ca68b
F test/tkt3201.test 607d433ad2c1f6a8cb1af55aaca427f63c83191b F test/tkt3201.test 7aac9921c187de4baad138060802a96956c7fe5d
F test/tkt3292.test 962465a0984a3b8c757efe59c2c59144871ee1dd F test/tkt3292.test 962465a0984a3b8c757efe59c2c59144871ee1dd
F test/tkt3298.test 20fd8773b825cb602e033aa04f8602e1ebdcd93c F test/tkt3298.test 20fd8773b825cb602e033aa04f8602e1ebdcd93c
F test/tkt3334.test ea13a53cb176e90571a76c86605b14a09efe366d F test/tkt3334.test ea13a53cb176e90571a76c86605b14a09efe366d
@@ -747,7 +750,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 672f81d693a03f80f5ae60bfefacd8a349e76746 F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746
P 82d1934a428a34c292a612fb67bbcea262990e0f P 2a5c9e1dbf7f5f4b2081c964450a9305a4516f5b c0ea4e9a7dcd66c079f917af47157f6ab7d79401
R d7c1a30840419801458f3ecc7f6aa251 R 831888fbe6ffc9eaba6547ee83986b1e
U dan U drh
Z 6b17644948440e13ab90b6fbc376f045 Z 74516868f17d9ef70bc645467b0bcf5a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFKk9TYoxKgR168RlERAl5cAJsHJCCNuwJwIwnMauy0LjcUqDVyZgCfWuXx
VSy4e4yPY24QsPxZpxOVRrY=
=H33X
-----END PGP SIGNATURE-----

View File

@@ -1 +1 @@
2a5c9e1dbf7f5f4b2081c964450a9305a4516f5b 1e2c6e134e04dd22795ad4839874ec0edd9b0970

View File

@@ -856,7 +856,9 @@ int sqlite3CodeRowTrigger(
sqlite3ExprIfFalse(pParse, whenExpr, endTrigger, SQLITE_JUMPIFNULL); sqlite3ExprIfFalse(pParse, whenExpr, endTrigger, SQLITE_JUMPIFNULL);
sqlite3ExprDelete(db, whenExpr); sqlite3ExprDelete(db, whenExpr);
sqlite3ExprCachePush(pParse);
codeTriggerProgram(pParse, p->step_list, orconf); codeTriggerProgram(pParse, p->step_list, orconf);
sqlite3ExprCachePop(pParse, 1);
/* Pop the entry off the trigger stack */ /* Pop the entry off the trigger stack */
pParse->trigStack = trigStackEntry.pNext; pParse->trigStack = trigStackEntry.pNext;

View File

@@ -2693,9 +2693,7 @@ int sqlite3VdbeIdxKeyCompare(
*res = 0; *res = 0;
return SQLITE_CORRUPT; return SQLITE_CORRUPT;
} }
m.db = 0; memset(&m, 0, sizeof(m));
m.flags = 0;
m.zMalloc = 0;
rc = sqlite3VdbeMemFromBtree(pC->pCursor, 0, (int)nCellKey, 1, &m); rc = sqlite3VdbeMemFromBtree(pC->pCursor, 0, (int)nCellKey, 1, &m);
if( rc ){ if( rc ){
return rc; return rc;

View File

@@ -70,5 +70,34 @@ do_test tkt3201-7 {
execsql { SELECT a, b, c, d FROM t1, t3 WHERE a < c } execsql { SELECT a, b, c, d FROM t1, t3 WHERE a < c }
} {1 one 2 two} } {1 one 2 two}
# Ticket [efc02f977919]
#
do_test tkt3201-4.0 {
db eval {
CREATE TABLE t4(x);
CREATE TABLE t4_log(x);
CREATE TRIGGER r4_1 AFTER INSERT ON t4 WHEN new.x=1 BEGIN
INSERT INTO t4_log(x) VALUES(new.x);
END;
CREATE TRIGGER r4_2 AFTER INSERT ON t4 WHEN new.x=2 BEGIN
INSERT INTO t4_log(x) VALUES(new.x);
END;
CREATE TRIGGER r4_3 AFTER INSERT ON t4 WHEN new.x=3 BEGIN
INSERT INTO t4_log(x) VALUES(new.x);
END;
CREATE TRIGGER r4_4 AFTER INSERT ON t4 WHEN new.x=4 BEGIN
INSERT INTO t4_log(x) VALUES(new.x);
END;
INSERT INTO t4 VALUES(1);
INSERT INTO t4 VALUES(2);
INSERT INTO t4 VALUES(3);
INSERT INTO t4 VALUES(4);
SELECT * FROM t4_log;
}
} {1 2 3 4}
finish_test finish_test