Hello community, here is the log from the commit of package sqlite3 for openSUSE:Factory checked in at 2014-12-19 09:41:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sqlite3 (Old) and /work/SRC/openSUSE:Factory/.sqlite3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sqlite3" Changes: -------- --- /work/SRC/openSUSE:Factory/sqlite3/sqlite3.changes 2014-11-24 11:14:41.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.sqlite3.new/sqlite3.changes 2014-12-19 09:40:26.000000000 +0100 @@ -1,0 +2,21 @@ +Thu Dec 11 11:11:29 UTC 2014 - [email protected] + +- SQLite 3.8.7.4: + * Bug fix: Add in a mutex that was omitted from the previous + release. + +------------------------------------------------------------------- +Sat Dec 6 17:21:43 UTC 2014 - [email protected] + +- SQLite 3.8.7.3: + * Ensure the cached KeyInfo objects (an internal abstraction not + visible to the application) do not go stale when operating in + shared cache mode and frequently closing and reopening some + database connections while leaving other database connections + on the same shared cache open continuously. + * Recognize that any column in the right-hand table of a LEFT + JOIN can be NULL even if the column has a NOT NULL constraint. + Do not apply optimizations that assume the column is never + NULL. + +------------------------------------------------------------------- Old: ---- sqlite-autoconf-3080702.tar.gz sqlite-doc-3080702.zip New: ---- sqlite-autoconf-3080704.tar.gz sqlite-doc-3080704.zip ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sqlite3.spec ++++++ --- /var/tmp/diff_new_pack.dIXz0Y/_old 2014-12-19 09:40:28.000000000 +0100 +++ /var/tmp/diff_new_pack.dIXz0Y/_new 2014-12-19 09:40:28.000000000 +0100 @@ -21,9 +21,9 @@ %define oname sqlite Name: %pname -Version: 3.8.7.2 +Version: 3.8.7.4 Release: 0 -%define tarversion 3080702 +%define tarversion 3080704 Summary: Embeddable SQL Database Engine License: SUSE-Public-Domain Group: Productivity/Databases/Servers ++++++ sqlite-autoconf-3080702.tar.gz -> sqlite-autoconf-3080704.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3080702/configure new/sqlite-autoconf-3080704/configure --- old/sqlite-autoconf-3080702/configure 2014-11-19 08:13:54.000000000 +0100 +++ new/sqlite-autoconf-3080704/configure 2014-12-09 15:21:04.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.8.7.2. +# Generated by GNU Autoconf 2.69 for sqlite 3.8.7.4. # # Report bugs to <http://www.sqlite.org>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.8.7.2' -PACKAGE_STRING='sqlite 3.8.7.2' +PACKAGE_VERSION='3.8.7.4' +PACKAGE_STRING='sqlite 3.8.7.4' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1313,7 +1313,7 @@ # 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.7.2 to adapt to many kinds of systems. +\`configure' configures sqlite 3.8.7.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1383,7 +1383,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.8.7.2:";; + short | recursive ) echo "Configuration of sqlite 3.8.7.4:";; esac cat <<\_ACEOF @@ -1489,7 +1489,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.8.7.2 +sqlite configure 3.8.7.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1813,7 +1813,7 @@ 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.7.2, which was +It was created by sqlite $as_me 3.8.7.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2631,7 +2631,7 @@ # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.8.7.2' + VERSION='3.8.7.4' cat >>confdefs.h <<_ACEOF @@ -13196,7 +13196,7 @@ # 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.7.2, which was +This file was extended by sqlite $as_me 3.8.7.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13253,7 +13253,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sqlite config.status 3.8.7.2 +sqlite config.status 3.8.7.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3080702/configure.ac new/sqlite-autoconf-3080704/configure.ac --- old/sqlite-autoconf-3080702/configure.ac 2014-11-19 08:13:53.000000000 +0100 +++ new/sqlite-autoconf-3080704/configure.ac 2014-12-09 15:21:02.000000000 +0100 @@ -8,7 +8,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.8.7.2, http://www.sqlite.org) +AC_INIT(sqlite, 3.8.7.4, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) # Use automake. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3080702/sqlite3.c new/sqlite-autoconf-3080704/sqlite3.c --- old/sqlite-autoconf-3080702/sqlite3.c 2014-11-19 08:13:53.000000000 +0100 +++ new/sqlite-autoconf-3080704/sqlite3.c 2014-12-09 15:21:02.000000000 +0100 @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.8.7.2. By combining all the individual C code files into this +** version 3.8.7.4. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -231,9 +231,9 @@ ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.8.7.2" +#define SQLITE_VERSION "3.8.7.4" #define SQLITE_VERSION_NUMBER 3008007 -#define SQLITE_SOURCE_ID "2014-11-18 20:57:56 2ab564bf9655b7c7b97ab85cafc8a48329b27f93" +#define SQLITE_SOURCE_ID "2014-12-09 01:34:36 f66f7a17b78ba617acde90fc810107f34f1a1f2e" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -11537,7 +11537,7 @@ /* ** The following are the meanings of bits in the Expr.flags field. */ -#define EP_FromJoin 0x000001 /* Originated in ON or USING clause of a join */ +#define EP_FromJoin 0x000001 /* Originates in ON/USING clause of outer join */ #define EP_Agg 0x000002 /* Contains one or more aggregate functions */ #define EP_Resolved 0x000004 /* IDs have been resolved to COLUMNs */ #define EP_Error 0x000008 /* Expression contains one or more errors */ @@ -11557,6 +11557,7 @@ #define EP_NoReduce 0x020000 /* Cannot EXPRDUP_REDUCE this Expr */ #define EP_Unlikely 0x040000 /* unlikely() or likelihood() function */ #define EP_Constant 0x080000 /* Node is a constant */ +#define EP_CanBeNull 0x100000 /* Can be null despite NOT NULL constraint */ /* ** These macros can be used to test, set, or clear bits in the @@ -79504,6 +79505,10 @@ if( pMatch ){ pExpr->iTable = pMatch->iCursor; pExpr->pTab = pMatch->pTab; + assert( (pMatch->jointype & JT_RIGHT)==0 ); /* RIGHT JOIN not (yet) supported */ + if( (pMatch->jointype & JT_LEFT)!=0 ){ + ExprSetProperty(pExpr, EP_CanBeNull); + } pSchema = pExpr->pTab->pSchema; } } /* if( pSrcList ) */ @@ -82040,7 +82045,8 @@ return 0; case TK_COLUMN: assert( p->pTab!=0 ); - return p->iColumn>=0 && p->pTab->aCol[p->iColumn].notNull==0; + return ExprHasProperty(p, EP_CanBeNull) || + (p->iColumn>=0 && p->pTab->aCol[p->iColumn].notNull==0); default: return 1; } @@ -87415,7 +87421,7 @@ i64 nSum100 = 0; /* Number of terms contributing to sumEq */ i64 nDist100; /* Number of distinct values in index */ - if( pIdx->aiRowEst==0 || pIdx->aiRowEst[iCol+1]==0 ){ + if( !pIdx->aiRowEst || iCol>=pIdx->nKeyCol || pIdx->aiRowEst[iCol+1]==0 ){ nRow = pFinal->anLt[iCol]; nDist100 = (i64)100 * pFinal->anDLt[iCol]; nSample--; @@ -125888,6 +125894,16 @@ for(j=0; j<db->nDb; j++){ struct Db *pDb = &db->aDb[j]; if( pDb->pBt ){ + if( pDb->pSchema ){ + /* Must clear the KeyInfo cache. See ticket [e4a18565a36884b00edf] */ + sqlite3BtreeEnter(pDb->pBt); + for(i=sqliteHashFirst(&pDb->pSchema->idxHash); i; i=sqliteHashNext(i)){ + Index *pIdx = sqliteHashData(i); + sqlite3KeyInfoUnref(pIdx->pKeyInfo); + pIdx->pKeyInfo = 0; + } + sqlite3BtreeLeave(pDb->pBt); + } sqlite3BtreeClose(pDb->pBt); pDb->pBt = 0; if( j!=1 ){ @@ -127535,7 +127551,9 @@ sqlite3Error(db, rc); goto opendb_out; } + sqlite3BtreeEnter(db->aDb[0].pBt); db->aDb[0].pSchema = sqlite3SchemaGet(db, db->aDb[0].pBt); + sqlite3BtreeLeave(db->aDb[0].pBt); db->aDb[1].pSchema = sqlite3SchemaGet(db, 0); /* The default safety_level for the main database is 'full'; for the temp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3080702/sqlite3.h new/sqlite-autoconf-3080704/sqlite3.h --- old/sqlite-autoconf-3080702/sqlite3.h 2014-11-19 08:13:53.000000000 +0100 +++ new/sqlite-autoconf-3080704/sqlite3.h 2014-12-09 15:21:02.000000000 +0100 @@ -107,9 +107,9 @@ ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.8.7.2" +#define SQLITE_VERSION "3.8.7.4" #define SQLITE_VERSION_NUMBER 3008007 -#define SQLITE_SOURCE_ID "2014-11-18 20:57:56 2ab564bf9655b7c7b97ab85cafc8a48329b27f93" +#define SQLITE_SOURCE_ID "2014-12-09 01:34:36 f66f7a17b78ba617acde90fc810107f34f1a1f2e" /* ** CAPI3REF: Run-Time Library Version Numbers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3080702/tea/configure new/sqlite-autoconf-3080704/tea/configure --- old/sqlite-autoconf-3080702/tea/configure 2014-11-19 08:13:55.000000000 +0100 +++ new/sqlite-autoconf-3080704/tea/configure 2014-12-09 15:21:05.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.8.7.2. +# Generated by GNU Autoconf 2.69 for sqlite 3.8.7.4. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.8.7.2' -PACKAGE_STRING='sqlite 3.8.7.2' +PACKAGE_VERSION='3.8.7.4' +PACKAGE_STRING='sqlite 3.8.7.4' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1292,7 +1292,7 @@ # 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.7.2 to adapt to many kinds of systems. +\`configure' configures sqlite 3.8.7.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1353,7 +1353,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.8.7.2:";; + short | recursive ) echo "Configuration of sqlite 3.8.7.4:";; esac cat <<\_ACEOF @@ -1455,7 +1455,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.8.7.2 +sqlite configure 3.8.7.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1866,7 +1866,7 @@ 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.7.2, which was +It was created by sqlite $as_me 3.8.7.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -9365,7 +9365,7 @@ # 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.7.2, which was +This file was extended by sqlite $as_me 3.8.7.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -9418,7 +9418,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sqlite config.status 3.8.7.2 +sqlite config.status 3.8.7.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3080702/tea/configure.in new/sqlite-autoconf-3080704/tea/configure.in --- old/sqlite-autoconf-3080702/tea/configure.in 2014-11-19 08:13:55.000000000 +0100 +++ new/sqlite-autoconf-3080704/tea/configure.in 2014-12-09 15:21:04.000000000 +0100 @@ -19,7 +19,7 @@ # so you can encode the package version directly into the source files. #----------------------------------------------------------------------- -AC_INIT([sqlite], [3.8.7.2]) +AC_INIT([sqlite], [3.8.7.4]) #-------------------------------------------------------------------- # Call TEA_INIT as the first TEA_ macro to set up initial vars. -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
