Hello community, here is the log from the commit of package sqlite3 for openSUSE:Factory checked in at 2012-10-05 13:48:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sqlite3 (Old) and /work/SRC/openSUSE:Factory/.sqlite3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sqlite3", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/sqlite3/sqlite3.changes 2012-09-10 15:21:20.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.sqlite3.new/sqlite3.changes 2012-10-06 18:43:52.000000000 +0200 @@ -1,0 +2,12 @@ +Fri Oct 5 07:13:36 UTC 2012 - [email protected] + +- Bugfix release 3.7.14.1: + * Fix a bug that causes a segfault on a LEFT JOIN that includes + an OR in the ON clause. + * Work around a bug in the optimizer in the VisualStudio-2012 + compiler that causes invalid code to be generated when + compiling SQLite on ARM. + * Fix the TCL interface so that the "nullvalue" setting is + honored for TCL implementations of SQL functions. + +------------------------------------------------------------------- Old: ---- sqlite-autoconf-3071400.tar.gz New: ---- sqlite-autoconf-3071401.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sqlite3.spec ++++++ --- /var/tmp/diff_new_pack.XDdmrc/_old 2012-10-06 18:43:53.000000000 +0200 +++ /var/tmp/diff_new_pack.XDdmrc/_new 2012-10-06 18:43:53.000000000 +0200 @@ -17,9 +17,9 @@ Name: sqlite3 -Version: 3.7.14 +Version: 3.7.14.1 Release: 0 -%define tarversion 3071400 +%define tarversion 3071401 Summary: Embeddable SQL Database Engine License: SUSE-Public-Domain Group: Productivity/Databases/Servers ++++++ sqlite-autoconf-3071400.tar.gz -> sqlite-autoconf-3071401.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3071400/configure new/sqlite-autoconf-3071401/configure --- old/sqlite-autoconf-3071400/configure 2012-09-03 18:17:12.000000000 +0200 +++ new/sqlite-autoconf-3071401/configure 2012-10-04 21:49:41.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for sqlite 3.7.14. +# Generated by GNU Autoconf 2.68 for sqlite 3.7.14.1. # # Report bugs to <http://www.sqlite.org>. # @@ -714,8 +714,8 @@ # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.7.14' -PACKAGE_STRING='sqlite 3.7.14' +PACKAGE_VERSION='3.7.14.1' +PACKAGE_STRING='sqlite 3.7.14.1' PACKAGE_BUGREPORT='http://www.sqlite.org' PACKAGE_URL='' @@ -1437,7 +1437,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.7.14 to adapt to many kinds of systems. +\`configure' configures sqlite 3.7.14.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1507,7 +1507,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.7.14:";; + short | recursive ) echo "Configuration of sqlite 3.7.14.1:";; esac cat <<\_ACEOF @@ -1617,7 +1617,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.7.14 +sqlite configure 3.7.14.1 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2237,7 +2237,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.7.14, which was +It was created by sqlite $as_me 3.7.14.1, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2906,7 +2906,7 @@ # Define the identity of the package. PACKAGE='sqlite' - VERSION='3.7.14' + VERSION='3.7.14.1' cat >>confdefs.h <<_ACEOF @@ -20487,7 +20487,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.7.14, which was +This file was extended by sqlite $as_me 3.7.14.1, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20544,7 +20544,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.7.14 +sqlite config.status 3.7.14.1 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3071400/configure.ac new/sqlite-autoconf-3071401/configure.ac --- old/sqlite-autoconf-3071400/configure.ac 2012-09-03 18:17:01.000000000 +0200 +++ new/sqlite-autoconf-3071401/configure.ac 2012-10-04 21:49:31.000000000 +0200 @@ -8,7 +8,7 @@ # AC_PREREQ(2.61) -AC_INIT(sqlite, 3.7.14, http://www.sqlite.org) +AC_INIT(sqlite, 3.7.14.1, http://www.sqlite.org) AC_CONFIG_SRCDIR([sqlite3.c]) # Use automake. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3071400/sqlite3.c new/sqlite-autoconf-3071401/sqlite3.c --- old/sqlite-autoconf-3071400/sqlite3.c 2012-09-03 18:17:01.000000000 +0200 +++ new/sqlite-autoconf-3071401/sqlite3.c 2012-10-04 21:49:31.000000000 +0200 @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.7.14. By combining all the individual C code files into this +** version 3.7.14.1. 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 @@ -673,9 +673,9 @@ ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.7.14" +#define SQLITE_VERSION "3.7.14.1" #define SQLITE_VERSION_NUMBER 3007014 -#define SQLITE_SOURCE_ID "2012-09-03 15:42:36 c0d89d4a9752922f9e367362366efde4f1b06f2a" +#define SQLITE_SOURCE_ID "2012-10-04 19:37:12 091570e46d04e84b67228e0bdbcd6e1fb60c6bdb" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -53849,6 +53849,9 @@ ** If aOvflSpace is set to a null pointer, this function returns ** SQLITE_NOMEM. */ +#if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_M_ARM) +#pragma optimize("", off) +#endif static int balance_nonroot( MemPage *pParent, /* Parent page of siblings being balanced */ int iParentIdx, /* Index of "the page" in pParent */ @@ -54479,6 +54482,9 @@ return rc; } +#if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_M_ARM) +#pragma optimize("", on) +#endif /* @@ -106086,7 +106092,7 @@ } } pLevel->u.pCovidx = pCov; - pLevel->iIdxCur = iCovCur; + if( pCov ) pLevel->iIdxCur = iCovCur; if( pAndExpr ){ pAndExpr->pLeft = 0; sqlite3ExprDelete(pParse->db, pAndExpr); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3071400/sqlite3.h new/sqlite-autoconf-3071401/sqlite3.h --- old/sqlite-autoconf-3071400/sqlite3.h 2012-09-03 18:17:01.000000000 +0200 +++ new/sqlite-autoconf-3071401/sqlite3.h 2012-10-04 21:49:31.000000000 +0200 @@ -107,9 +107,9 @@ ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.7.14" +#define SQLITE_VERSION "3.7.14.1" #define SQLITE_VERSION_NUMBER 3007014 -#define SQLITE_SOURCE_ID "2012-09-03 15:42:36 c0d89d4a9752922f9e367362366efde4f1b06f2a" +#define SQLITE_SOURCE_ID "2012-10-04 19:37:12 091570e46d04e84b67228e0bdbcd6e1fb60c6bdb" /* ** CAPI3REF: Run-Time Library Version Numbers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3071400/sqlite3.pc new/sqlite-autoconf-3071401/sqlite3.pc --- old/sqlite-autoconf-3071400/sqlite3.pc 2012-09-03 18:17:18.000000000 +0200 +++ new/sqlite-autoconf-3071401/sqlite3.pc 2012-10-04 21:49:47.000000000 +0200 @@ -7,7 +7,7 @@ Name: SQLite Description: SQL database engine -Version: 3.7.14 +Version: 3.7.14.1 Libs: -L${libdir} -lsqlite3 Libs.private: -ldl -lpthread Cflags: -I${includedir} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3071400/tea/configure new/sqlite-autoconf-3071401/tea/configure --- old/sqlite-autoconf-3071400/tea/configure 2012-09-03 18:17:01.000000000 +0200 +++ new/sqlite-autoconf-3071401/tea/configure 2012-10-04 21:49:31.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for sqlite 3.7.14. +# Generated by GNU Autoconf 2.68 for sqlite 3.7.14.1. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -557,8 +557,8 @@ # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.7.14' -PACKAGE_STRING='sqlite 3.7.14' +PACKAGE_VERSION='3.7.14.1' +PACKAGE_STRING='sqlite 3.7.14.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1270,7 +1270,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.7.14 to adapt to many kinds of systems. +\`configure' configures sqlite 3.7.14.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1331,7 +1331,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.7.14:";; + short | recursive ) echo "Configuration of sqlite 3.7.14.1:";; esac cat <<\_ACEOF @@ -1433,7 +1433,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.7.14 +sqlite configure 3.7.14.1 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1844,7 +1844,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.7.14, which was +It was created by sqlite $as_me 3.7.14.1, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -8351,7 +8351,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.7.14, which was +This file was extended by sqlite $as_me 3.7.14.1, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8404,7 +8404,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.7.14 +sqlite config.status 3.7.14.1 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3071400/tea/configure.in new/sqlite-autoconf-3071401/tea/configure.in --- old/sqlite-autoconf-3071400/tea/configure.in 2012-09-03 18:17:00.000000000 +0200 +++ new/sqlite-autoconf-3071401/tea/configure.in 2012-10-04 21:49:30.000000000 +0200 @@ -19,7 +19,7 @@ # so you can encode the package version directly into the source files. #----------------------------------------------------------------------- -AC_INIT([sqlite], [3.7.14]) +AC_INIT([sqlite], [3.7.14.1]) #-------------------------------------------------------------------- # Call TEA_INIT as the first TEA_ macro to set up initial vars. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sqlite-autoconf-3071400/tea/generic/tclsqlite3.c new/sqlite-autoconf-3071401/tea/generic/tclsqlite3.c --- old/sqlite-autoconf-3071400/tea/generic/tclsqlite3.c 2012-09-03 18:17:00.000000000 +0200 +++ new/sqlite-autoconf-3071401/tea/generic/tclsqlite3.c 2012-10-04 21:49:30.000000000 +0200 @@ -58,15 +58,8 @@ #define NUM_PREPARED_STMTS 10 #define MAX_PREPARED_STMTS 100 -/* -** If TCL uses UTF-8 and SQLite is configured to use iso8859, then we -** have to do a translation when going between the two. Set the -** UTF_TRANSLATION_NEEDED macro to indicate that we need to do -** this translation. -*/ -#if defined(TCL_UTF_MAX) && !defined(SQLITE_UTF8) -# define UTF_TRANSLATION_NEEDED 1 -#endif +/* Forward declaration */ +typedef struct SqliteDb SqliteDb; /* ** New SQL functions can be created as TCL scripts. Each such function @@ -76,6 +69,7 @@ struct SqlFunc { Tcl_Interp *interp; /* The TCL interpret to execute the function */ Tcl_Obj *pScript; /* The Tcl_Obj representation of the script */ + SqliteDb *pDb; /* Database connection that owns this function */ int useEvalObjv; /* True if it is safe to use Tcl_EvalObjv */ char *zName; /* Name of this function */ SqlFunc *pNext; /* Next function on the list of them all */ @@ -118,7 +112,6 @@ ** sqlite3_prepare_v2() or sqlite3_prepare() to prepare SQL statements. ** If SqliteDb.bLegacyPrepare is true, sqlite3_prepare() is used. */ -typedef struct SqliteDb SqliteDb; struct SqliteDb { sqlite3 *db; /* The "real" database structure. MUST BE FIRST */ Tcl_Interp *interp; /* The interpreter used for this database */ @@ -436,6 +429,7 @@ } } pNew->interp = pDb->interp; + pNew->pDb = pDb; pNew->pScript = 0; pNew->pNext = pDb->pFunc; pDb->pFunc = pNew; @@ -483,6 +477,7 @@ while( pDb->pFunc ){ SqlFunc *pFunc = pDb->pFunc; pDb->pFunc = pFunc->pNext; + assert( pFunc->pDb==pDb ); Tcl_DecrRefCount(pFunc->pScript); Tcl_Free((char*)pFunc); } @@ -799,7 +794,7 @@ break; } case SQLITE_NULL: { - pVal = Tcl_NewStringObj("", 0); + pVal = Tcl_NewStringObj(p->pDb->zNull, -1); break; } default: { @@ -939,26 +934,6 @@ #endif /* SQLITE_OMIT_AUTHORIZATION */ /* -** zText is a pointer to text obtained via an sqlite3_result_text() -** or similar interface. This routine returns a Tcl string object, -** reference count set to 0, containing the text. If a translation -** between iso8859 and UTF-8 is required, it is preformed. -*/ -static Tcl_Obj *dbTextToObj(char const *zText){ - Tcl_Obj *pVal; -#ifdef UTF_TRANSLATION_NEEDED - Tcl_DString dCol; - Tcl_DStringInit(&dCol); - Tcl_ExternalToUtfDString(NULL, zText, -1, &dCol); - pVal = Tcl_NewStringObj(Tcl_DStringValue(&dCol), -1); - Tcl_DStringFree(&dCol); -#else - pVal = Tcl_NewStringObj(zText, -1); -#endif - return pVal; -} - -/* ** This routine reads a line of text from FILE in, stores ** the text in memory obtained from malloc() and returns a pointer ** to the text. NULL is returned at end of file, or if malloc() @@ -1145,13 +1120,13 @@ int nByte; if( SQLITE_OK!=dbPrepare(pDb, zSql, &pStmt, pzOut) ){ - Tcl_SetObjResult(interp, dbTextToObj(sqlite3_errmsg(pDb->db))); + Tcl_SetObjResult(interp, Tcl_NewStringObj(sqlite3_errmsg(pDb->db), -1)); return TCL_ERROR; } if( pStmt==0 ){ if( SQLITE_OK!=sqlite3_errcode(pDb->db) ){ /* A compile-time error in the statement. */ - Tcl_SetObjResult(interp, dbTextToObj(sqlite3_errmsg(pDb->db))); + Tcl_SetObjResult(interp, Tcl_NewStringObj(sqlite3_errmsg(pDb->db), -1)); return TCL_ERROR; }else{ /* The statement was a no-op. Continue to the next statement @@ -1370,7 +1345,7 @@ if( nCol>0 && (papColName || p->pArray) ){ apColName = (Tcl_Obj**)Tcl_Alloc( sizeof(Tcl_Obj*)*nCol ); for(i=0; i<nCol; i++){ - apColName[i] = dbTextToObj(sqlite3_column_name(pStmt,i)); + apColName[i] = Tcl_NewStringObj(sqlite3_column_name(pStmt,i), -1); Tcl_IncrRefCount(apColName[i]); } p->apColName = apColName; @@ -1457,7 +1432,8 @@ continue; } #endif - Tcl_SetObjResult(pDb->interp, dbTextToObj(sqlite3_errmsg(pDb->db))); + Tcl_SetObjResult(pDb->interp, + Tcl_NewStringObj(sqlite3_errmsg(pDb->db), -1)); return TCL_ERROR; }else{ dbReleaseStmt(pDb, pPreStmt, 0); @@ -1514,11 +1490,11 @@ return Tcl_NewDoubleObj(sqlite3_column_double(pStmt, iCol)); } case SQLITE_NULL: { - return dbTextToObj(p->pDb->zNull); + return Tcl_NewStringObj(p->pDb->zNull, -1); } } - return dbTextToObj((char *)sqlite3_column_text(pStmt, iCol)); + return Tcl_NewStringObj(sqlite3_column_text(pStmt, iCol), -1); } /* @@ -2438,7 +2414,7 @@ pDb->zNull = 0; } } - Tcl_SetObjResult(interp, dbTextToObj(pDb->zNull)); + Tcl_SetObjResult(interp, Tcl_NewStringObj(pDb->zNull, -1)); break; } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
