From 3afca7d18cd4953c73e39f47e249a983000be97e Mon Sep 17 00:00:00 2001 From: dan Date: Tue, 11 Mar 2014 09:19:26 +0000 Subject: [PATCH 1/3] Add a test to see what happens if an rtree constructor encounters an SQLITE_BUSY error. No changes to code. FossilOrigin-Name: 5527e23636eee192030f6a3c41628030b6c50bb8 --- ext/rtree/rtreeD.test | 57 +++++++++++++++++++++++++++++++++++++++++++ manifest | 13 +++++----- manifest.uuid | 2 +- 3 files changed, 65 insertions(+), 7 deletions(-) create mode 100644 ext/rtree/rtreeD.test diff --git a/ext/rtree/rtreeD.test b/ext/rtree/rtreeD.test new file mode 100644 index 0000000000..c4a7d22e2e --- /dev/null +++ b/ext/rtree/rtreeD.test @@ -0,0 +1,57 @@ +# 2014 March 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. +# +#*********************************************************************** +# +# Miscellaneous tests for errors in the rtree constructor. +# + + +if {![info exists testdir]} { + set testdir [file join [file dirname [info script]] .. .. test] +} +source [file join [file dirname [info script]] rtree_util.tcl] +source $testdir/tester.tcl +source $testdir/lock_common.tcl +ifcapable !rtree { + finish_test + return +} +set testprefix rtreeD + +#------------------------------------------------------------------------- +# Test that if an SQLITE_BUSY is encountered within the vtable +# constructor, a relevant error message is returned. +# +do_multiclient_test tn { + do_test 1.$tn.1 { + sql1 { + CREATE TABLE t1(a, b); + INSERT INTO t1 VALUES(1,2); + CREATE VIRTUAL TABLE rt USING rtree(id, minx, maxx, miny, maxy); + INSERT INTO rt VALUES(1,2,3,4,5); + } + } {} + + do_test 1.$tn.2 { + sql2 { SELECT * FROM t1; } + } {1 2} + + do_test 1.$tn.3 { + sql1 { BEGIN EXCLUSIVE; INSERT INTO t1 VALUES(3, 4); } + } {} + + do_test 1.$tn.4 { + list [catch { sql2 { SELECT * FROM rt } } msg] $msg + } {1 {database is locked}} +} + +finish_test + + diff --git a/manifest b/manifest index 37e199a7ca..92cf570548 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Adjustments\sto\sthe\scost\scomputation\sfor\sthe\sskip-scan\squery\splan,\sto\stake\ninto\saccount\sthe\sfact\sthat\sa\sseek\shas\sto\soccur\son\seach\sskip. -D 2014-03-10T20:12:31.746 +C Add\sa\stest\sto\ssee\swhat\shappens\sif\san\srtree\sconstructor\sencounters\san\sSQLITE_BUSY\serror.\sNo\schanges\sto\scode. +D 2014-03-11T09:19:26.952 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -134,6 +134,7 @@ F ext/rtree/rtree9.test d86ebf08ff6328895613ed577dd8a2a37c472c34 F ext/rtree/rtreeA.test ace05e729a36e342d40cf94e9efc7b4723d9dcdf F ext/rtree/rtreeB.test 983e567b49b5dca165940f66b87e161aa30e82b2 F ext/rtree/rtreeC.test 03975565f40a0bee165f613143e4dec716dd5a59 +F ext/rtree/rtreeD.test 636630357638f5983701550b37f0f5867130d2ca F ext/rtree/rtree_perf.tcl 6c18c1f23cd48e0f948930c98dfdd37dfccb5195 F ext/rtree/rtree_util.tcl 06aab2ed5b826545bf215fff90ecb9255a8647ea F ext/rtree/sqlite3rtree.h c34c1e41d1ab80bb8ad09aae402c9c956871a765 @@ -1155,7 +1156,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 0a5318bc272b844e937cb1df3a07224034bc3450 -R e70fe0ad6a94758a25d6a041a31ecb69 -U drh -Z 344f247bc956540503c85d9ccd8fecb9 +P 0769eebd028ce31375cf93509a1d3687f7b117eb +R 69f07d6dc46567fe52be3d501cb07a93 +U dan +Z a17034cb7e3a0293ec242be23e8c481f diff --git a/manifest.uuid b/manifest.uuid index ed97f1ebb6..1d58945e9c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0769eebd028ce31375cf93509a1d3687f7b117eb \ No newline at end of file +5527e23636eee192030f6a3c41628030b6c50bb8 \ No newline at end of file From 8073c70b332914ad61dc0309f0414306991ee120 Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 11 Mar 2014 15:25:43 +0000 Subject: [PATCH 2/3] Update version number to 3.8.4.1 FossilOrigin-Name: 33f5694fa42d9a521ca081de4ddd1e9dc8952b16 --- VERSION | 2 +- configure | 18 +++++++++--------- manifest | 16 ++++++++-------- manifest.uuid | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/VERSION b/VERSION index ff313b8c21..a93056bbe2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.8.4 +3.8.4.1 diff --git a/configure b/configure index c182a4a92d..56d58c7b73 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.62 for sqlite 3.8.4. +# Generated by GNU Autoconf 2.62 for sqlite 3.8.4.1. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -743,8 +743,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.8.4' -PACKAGE_STRING='sqlite 3.8.4' +PACKAGE_VERSION='3.8.4.1' +PACKAGE_STRING='sqlite 3.8.4.1' PACKAGE_BUGREPORT='' # Factoring default headers for most tests. @@ -1483,7 +1483,7 @@ if test "$ac_init_help" = "long"; then # 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. cat <<_ACEOF -\`configure' configures sqlite 3.8.4 to adapt to many kinds of systems. +\`configure' configures sqlite 3.8.4.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1548,7 +1548,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.8.4:";; + short | recursive ) echo "Configuration of sqlite 3.8.4.1:";; esac cat <<\_ACEOF @@ -1664,7 +1664,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.8.4 +sqlite configure 3.8.4.1 generated by GNU Autoconf 2.62 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1678,7 +1678,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.8.4, which was +It was created by sqlite $as_me 3.8.4.1, which was generated by GNU Autoconf 2.62. Invocation command line was $ $0 $@ @@ -14021,7 +14021,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.8.4, which was +This file was extended by sqlite $as_me 3.8.4.1, which was generated by GNU Autoconf 2.62. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14074,7 +14074,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -sqlite config.status 3.8.4 +sqlite config.status 3.8.4.1 configured by $0, generated by GNU Autoconf 2.62, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/manifest b/manifest index 92cf570548..47a8571eef 100644 --- a/manifest +++ b/manifest @@ -1,12 +1,12 @@ -C Add\sa\stest\sto\ssee\swhat\shappens\sif\san\srtree\sconstructor\sencounters\san\sSQLITE_BUSY\serror.\sNo\schanges\sto\scode. -D 2014-03-11T09:19:26.952 +C Update\sversion\snumber\sto\s3.8.4.1 +D 2014-03-11T15:25:43.839 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.msc fdacba6fb574868c71fde6db6b77789a383a4c19 F Makefile.vxworks db21ed42a01d5740e656b16f92cb5d8d5e5dd315 F README.md 64f270c43c38c46de749e419c22f0ae2f4499fe8 -F VERSION 0dc30ad5cf90736d5fd9e540c9f05c542658abe7 +F VERSION c3b0d47c3c5cf25c5bd4ff9e6f3af2f9d7934ea6 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F addopcodes.awk 9eb448a552d5c0185cf62c463f9c173cedae3811 F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2 @@ -38,7 +38,7 @@ F autoconf/tea/win/rules.vc c511f222b80064096b705dbeb97060ee1d6b6d63 F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977 F config.h.in 0921066a13130082764ab4ab6456f7b5bebe56de F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55 -F configure e12e1a4f031354f9af735bcb377941a72dc2cca5 x +F configure 6a7a482649dd20b7ee31424bf6553c6f20ca7936 x F configure.ac 4cf9f60785143fa141b10962ccc885d973792e9a F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad F doc/lemon.html 334dbf6621b8fb8790297ec1abf3cfa4621709d1 @@ -1156,7 +1156,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 0769eebd028ce31375cf93509a1d3687f7b117eb -R 69f07d6dc46567fe52be3d501cb07a93 -U dan -Z a17034cb7e3a0293ec242be23e8c481f +P 5527e23636eee192030f6a3c41628030b6c50bb8 +R 581994aed374f15c1c6bac5b0a9a5df5 +U drh +Z 8230a7efb9bcd6e2bb88b717c62ea7a8 diff --git a/manifest.uuid b/manifest.uuid index 1d58945e9c..0453f16ea5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5527e23636eee192030f6a3c41628030b6c50bb8 \ No newline at end of file +33f5694fa42d9a521ca081de4ddd1e9dc8952b16 \ No newline at end of file From 468108628c0399f0bc52f639b93317565badb3aa Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 11 Mar 2014 15:27:36 +0000 Subject: [PATCH 3/3] Version 3.8.4.1 FossilOrigin-Name: 018d317b1257ce68a92908b05c9c7cf1494050d0 --- manifest | 11 +++++++---- manifest.uuid | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/manifest b/manifest index 47a8571eef..219399a93b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Update\sversion\snumber\sto\s3.8.4.1 -D 2014-03-11T15:25:43.839 +C Version\s3.8.4.1 +D 2014-03-11T15:27:36.923 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 2ef13430cd359f7b361bb863504e227b25cc7f81 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -1156,7 +1156,10 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01 F tool/win/sqlite.vsix 030f3eeaf2cb811a3692ab9c14d021a75ce41fff -P 5527e23636eee192030f6a3c41628030b6c50bb8 +P 33f5694fa42d9a521ca081de4ddd1e9dc8952b16 R 581994aed374f15c1c6bac5b0a9a5df5 +T +bgcolor * #d0c0ff +T +sym-release * +T +sym-version-3.8.4.1 * U drh -Z 8230a7efb9bcd6e2bb88b717c62ea7a8 +Z c1ec45dc8a92b80bfa16f4c74ccfeec8 diff --git a/manifest.uuid b/manifest.uuid index 0453f16ea5..1f0b42178b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -33f5694fa42d9a521ca081de4ddd1e9dc8952b16 \ No newline at end of file +018d317b1257ce68a92908b05c9c7cf1494050d0 \ No newline at end of file