Hello community, here is the log from the commit of package sqlite3 for openSUSE:Factory checked in at 2016-04-28 16:50:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2016-04-12 19:00:37.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.sqlite3.new/sqlite3.changes 2016-04-28 16:50:14.000000000 +0200 @@ -1,0 +2,7 @@ +Tue Apr 19 06:04:57 UTC 2016 - idonmez@suse.com + +- SQLite 3.12.2: + * Fix compatibility with some legacy versions of sqlite database + * Minor bugfixes + +------------------------------------------------------------------- @@ -4 +11,2 @@ -- Fix a boundary condition error introduced by version 3.12.0 that +- SQLite 3.12.1: + * Fix a boundary condition error introduced by version 3.12.0 that @@ -6 +14 @@ -- Fix views so that they inherit column datatypes from the table + * Fix views so that they inherit column datatypes from the table @@ -8 +16 @@ -- Fix the query planner so that IS and IS NULL operators are able to + * Fix the query planner so that IS and IS NULL operators are able to Old: ---- sqlite-autoconf-3120100.tar.gz sqlite-doc-3120100.zip New: ---- sqlite-autoconf-3120200.tar.gz sqlite-doc-3120200.zip ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sqlite3.spec ++++++ --- /var/tmp/diff_new_pack.g85FGV/_old 2016-04-28 16:50:15.000000000 +0200 +++ /var/tmp/diff_new_pack.g85FGV/_new 2016-04-28 16:50:15.000000000 +0200 @@ -19,9 +19,9 @@ # Simplify building on RH for Application:Geo (SR#212812). %define pname sqlite3 %define oname sqlite -%define tarversion 3120100 +%define tarversion 3120200 Name: %{pname} -Version: 3.12.1 +Version: 3.12.2 Release: 0 Summary: Embeddable SQL Database Engine License: SUSE-Public-Domain ++++++ sqlite-autoconf-3120100.tar.gz -> sqlite-autoconf-3120200.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3120100/configure new/sqlite-autoconf-3120200/configure --- old/sqlite-autoconf-3120100/configure 2016-04-08 17:47:57.000000000 +0200 +++ new/sqlite-autoconf-3120200/configure 2016-04-18 20:56:36.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.12.1. +# Generated by GNU Autoconf 2.69 for sqlite 3.12.2. # # Report bugs to <http://www.sqlite.org>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.12.1' -PACKAGE_STRING='sqlite 3.12.1' +PACKAGE_VERSION='3.12.2' +PACKAGE_STRING='sqlite 3.12.2' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1328,7 +1328,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.12.1 to adapt to many kinds of systems. +\`configure' configures sqlite 3.12.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1398,7 +1398,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.12.1:";; + short | recursive ) echo "Configuration of sqlite 3.12.2:";; esac cat <<\_ACEOF @@ -1518,7 +1518,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.12.1 +sqlite configure 3.12.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1842,7 +1842,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.12.1, which was +It was created by sqlite $as_me 3.12.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2708,7 +2708,7 @@ # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.12.1' + VERSION='3.12.2' cat >>confdefs.h <<_ACEOF @@ -14088,7 +14088,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.12.1, which was +This file was extended by sqlite $as_me 3.12.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14145,7 +14145,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.12.1 +sqlite config.status 3.12.2 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-3120100/configure.ac new/sqlite-autoconf-3120200/configure.ac --- old/sqlite-autoconf-3120100/configure.ac 2016-04-08 17:47:53.000000000 +0200 +++ new/sqlite-autoconf-3120200/configure.ac 2016-04-18 20:56:32.000000000 +0200 @@ -10,7 +10,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.12.1, http://www.sqlite.org) +AC_INIT(sqlite, 3.12.2, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) # Use automake. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3120100/sqlite3.c new/sqlite-autoconf-3120200/sqlite3.c --- old/sqlite-autoconf-3120100/sqlite3.c 2016-04-08 17:47:53.000000000 +0200 +++ new/sqlite-autoconf-3120200/sqlite3.c 2016-04-18 20:56:32.000000000 +0200 @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.12.1. By combining all the individual C code files into this +** version 3.12.2. 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 @@ -336,9 +336,9 @@ ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.12.1" -#define SQLITE_VERSION_NUMBER 3012001 -#define SQLITE_SOURCE_ID "2016-04-08 15:09:49 fe7d3b75fe1bde41511b323925af8ae1b910bc4d" +#define SQLITE_VERSION "3.12.2" +#define SQLITE_VERSION_NUMBER 3012002 +#define SQLITE_SOURCE_ID "2016-04-18 17:30:31 92dc59fd5ad66f646666042eb04195e3a61a9e8e" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -63941,6 +63941,28 @@ pPage = pCur->apPage[iCellDepth]; pCell = findCell(pPage, iCellIdx); + /* If the bPreserve flag is set to true, then the cursor position must + ** be preserved following this delete operation. If the current delete + ** will cause a b-tree rebalance, then this is done by saving the cursor + ** key and leaving the cursor in CURSOR_REQUIRESEEK state before + ** returning. + ** + ** Or, if the current delete will not cause a rebalance, then the cursor + ** will be left in CURSOR_SKIPNEXT state pointing to the entry immediately + ** before or after the deleted entry. In this case set bSkipnext to true. */ + if( bPreserve ){ + if( !pPage->leaf + || (pPage->nFree+cellSizePtr(pPage,pCell)+2)>(int)(pBt->usableSize*2/3) + ){ + /* A b-tree rebalance will be required after deleting this entry. + ** Save the cursor key. */ + rc = saveCursorKey(pCur); + if( rc ) return rc; + }else{ + bSkipnext = 1; + } + } + /* If the page containing the entry to delete is not a leaf page, move ** the cursor to the largest entry in the tree that is smaller than ** the entry being deleted. This cell will replace the cell being deleted @@ -63967,28 +63989,6 @@ invalidateIncrblobCursors(p, pCur->info.nKey, 0); } - /* If the bPreserve flag is set to true, then the cursor position must - ** be preserved following this delete operation. If the current delete - ** will cause a b-tree rebalance, then this is done by saving the cursor - ** key and leaving the cursor in CURSOR_REQUIRESEEK state before - ** returning. - ** - ** Or, if the current delete will not cause a rebalance, then the cursor - ** will be left in CURSOR_SKIPNEXT state pointing to the entry immediately - ** before or after the deleted entry. In this case set bSkipnext to true. */ - if( bPreserve ){ - if( !pPage->leaf - || (pPage->nFree+cellSizePtr(pPage,pCell)+2)>(int)(pBt->usableSize*2/3) - ){ - /* A b-tree rebalance will be required after deleting this entry. - ** Save the cursor key. */ - rc = saveCursorKey(pCur); - if( rc ) return rc; - }else{ - bSkipnext = 1; - } - } - /* Make the page containing the entry to be deleted writable. Then free any ** overflow pages associated with the entry and finally remove the cell ** itself from within the page. */ @@ -82769,7 +82769,6 @@ ){ int pgsz; /* Page size of main database */ int i; /* Used to iterate through aTask[] */ - int mxCache; /* Cache size */ VdbeSorter *pSorter; /* The new sorter */ KeyInfo *pKeyInfo; /* Copy of pCsr->pKeyInfo with db==0 */ int szKeyInfo; /* Size of pCsr->pKeyInfo in bytes */ @@ -82826,11 +82825,20 @@ } if( !sqlite3TempInMemory(db) ){ + i64 mxCache; /* Cache size in bytes*/ u32 szPma = sqlite3GlobalConfig.szPma; pSorter->mnPmaSize = szPma * pgsz; + mxCache = db->aDb[0].pSchema->cache_size; - if( mxCache<(int)szPma ) mxCache = (int)szPma; - pSorter->mxPmaSize = MIN((i64)mxCache*pgsz, SQLITE_MAX_PMASZ); + if( mxCache<0 ){ + /* A negative cache-size value C indicates that the cache is abs(C) + ** KiB in size. */ + mxCache = mxCache * -1024; + }else{ + mxCache = mxCache * pgsz; + } + mxCache = MIN(mxCache, SQLITE_MAX_PMASZ); + pSorter->mxPmaSize = MAX(pSorter->mnPmaSize, (int)mxCache); /* EVIDENCE-OF: R-26747-61719 When the application provides any amount of ** scratch memory using SQLITE_CONFIG_SCRATCH, SQLite avoids unnecessary @@ -95563,6 +95571,7 @@ zType = z + sqlite3Strlen30(z) + 1; memcpy(zType, pType->z, pType->n); zType[pType->n] = 0; + sqlite3Dequote(zType); pCol->affinity = sqlite3AffinityType(zType, &pCol->szEst); pCol->colFlags |= COLFLAG_HASTYPE; } @@ -121360,7 +121369,13 @@ } } } - sqlite3ReleaseTempRange(pParse, iReg, nConstraint+2); + /* These registers need to be preserved in case there is an IN operator + ** loop. So we could deallocate the registers here (and potentially + ** reuse them later) if (pLoop->wsFlags & WHERE_IN_ABLE)==0. But it seems + ** simpler and safer to simply not reuse the registers. + ** + ** sqlite3ReleaseTempRange(pParse, iReg, nConstraint+2); + */ sqlite3ExprCachePop(pParse); }else #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -185458,7 +185473,7 @@ ){ assert( nArg==0 ); UNUSED_PARAM2(nArg, apUnused); - sqlite3_result_text(pCtx, "fts5: 2016-04-08 15:09:49 fe7d3b75fe1bde41511b323925af8ae1b910bc4d", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2016-04-18 17:30:31 92dc59fd5ad66f646666042eb04195e3a61a9e8e", -1, SQLITE_TRANSIENT); } static int fts5Init(sqlite3 *db){ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3120100/sqlite3.h new/sqlite-autoconf-3120200/sqlite3.h --- old/sqlite-autoconf-3120100/sqlite3.h 2016-04-08 17:47:53.000000000 +0200 +++ new/sqlite-autoconf-3120200/sqlite3.h 2016-04-18 20:56:32.000000000 +0200 @@ -111,9 +111,9 @@ ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.12.1" -#define SQLITE_VERSION_NUMBER 3012001 -#define SQLITE_SOURCE_ID "2016-04-08 15:09:49 fe7d3b75fe1bde41511b323925af8ae1b910bc4d" +#define SQLITE_VERSION "3.12.2" +#define SQLITE_VERSION_NUMBER 3012002 +#define SQLITE_SOURCE_ID "2016-04-18 17:30:31 92dc59fd5ad66f646666042eb04195e3a61a9e8e" /* ** CAPI3REF: Run-Time Library Version Numbers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3120100/tea/configure new/sqlite-autoconf-3120200/tea/configure --- old/sqlite-autoconf-3120100/tea/configure 2016-04-08 17:47:58.000000000 +0200 +++ new/sqlite-autoconf-3120200/tea/configure 2016-04-18 20:56:37.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.12.1. +# Generated by GNU Autoconf 2.69 for sqlite 3.12.2. # # # 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.12.1' -PACKAGE_STRING='sqlite 3.12.1' +PACKAGE_VERSION='3.12.2' +PACKAGE_STRING='sqlite 3.12.2' 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.12.1 to adapt to many kinds of systems. +\`configure' configures sqlite 3.12.2 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.12.1:";; + short | recursive ) echo "Configuration of sqlite 3.12.2:";; 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.12.1 +sqlite configure 3.12.2 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.12.1, which was +It was created by sqlite $as_me 3.12.2, 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.12.1, which was +This file was extended by sqlite $as_me 3.12.2, 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.12.1 +sqlite config.status 3.12.2 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-3120100/tea/configure.ac new/sqlite-autoconf-3120200/tea/configure.ac --- old/sqlite-autoconf-3120100/tea/configure.ac 2016-04-08 17:47:57.000000000 +0200 +++ new/sqlite-autoconf-3120200/tea/configure.ac 2016-04-18 20:56:36.000000000 +0200 @@ -19,7 +19,7 @@ # so you can encode the package version directly into the source files. #----------------------------------------------------------------------- -AC_INIT([sqlite], [3.12.1]) +AC_INIT([sqlite], [3.12.2]) #-------------------------------------------------------------------- # Call TEA_INIT as the first TEA_ macro to set up initial vars.