You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gs...@apache.org on 2012/06/07 23:19:23 UTC

svn commit: r1347802 - in /subversion/trunk: configure.ac subversion/libsvn_subr/sqlite.c

Author: gstein
Date: Thu Jun  7 21:19:23 2012
New Revision: 1347802

URL: http://svn.apache.org/viewvc?rev=1347802&view=rev
Log:
Per discussion from the list, bump to SQLite 3.7.12 as minimum.

* configure.ac:
  (SQLITE_MINIMUM_VER, SQLITE_RECOMMENDED_VER): set to 3.7.12

* subversion/libsvn_subr/sqlite.c:
  (...): adjust version/#error check
  (internal_open): always enable NOMUTEX, since we know this symbol is
    available.
  (svn_sqlite__open): remove 3.7.7.0 workaround. always enable foreign
    key checks since we have a recent SQLite

Modified:
    subversion/trunk/configure.ac
    subversion/trunk/subversion/libsvn_subr/sqlite.c

Modified: subversion/trunk/configure.ac
URL: http://svn.apache.org/viewvc/subversion/trunk/configure.ac?rev=1347802&r1=1347801&r2=1347802&view=diff
==============================================================================
--- subversion/trunk/configure.ac (original)
+++ subversion/trunk/configure.ac Thu Jun  7 21:19:23 2012
@@ -166,8 +166,8 @@ dnl Find Apache with a recent-enough mag
 SVN_FIND_APACHE(20020903)
 
 dnl Search for SQLite
-SQLITE_MINIMUM_VER="3.6.18"
-SQLITE_RECOMMENDED_VER="3.7.6.3"
+SQLITE_MINIMUM_VER="3.7.12"
+SQLITE_RECOMMENDED_VER="3.7.12"
 SQLITE_URL="http://www.sqlite.org/sqlite-amalgamation-${SQLITE_RECOMMENDED_VER}.tar.gz"
 SVN_LIB_SQLITE(${SQLITE_MINIMUM_VER}, ${SQLITE_RECOMMENDED_VER},
                ${SQLITE_URL})

Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=1347802&r1=1347801&r2=1347802&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite.c Thu Jun  7 21:19:23 2012
@@ -50,8 +50,8 @@
   #include <sqlite3.h>
 #endif
 
-#if !SQLITE_VERSION_AT_LEAST(3,6,18)
-#error SQLite is too old -- version 3.6.18 is the minimum required version
+#if !SQLITE_VERSION_AT_LEAST(3,7,12)
+#error SQLite is too old -- version 3.7.12 is the minimum required version
 #endif
 
 INTERNAL_STATEMENTS_SQL_DECLARE_STATEMENTS(internal_statements);
@@ -685,16 +685,14 @@ internal_open(sqlite3 **db3, const char 
     else
       SVN_ERR_MALFUNCTION();
 
-    /* If this flag is defined (3.6.x), then let's turn off SQLite's mutexes.
-       All svn objects are single-threaded, so we can already guarantee that
-       our use of the SQLite handle will be serialized properly.
+    /* Turn off SQLite's mutexes. All svn objects are single-threaded,
+       so we can already guarantee that our use of the SQLite handle
+       will be serialized properly.
 
        Note: in 3.6.x, we've already config'd SQLite into MULTITHREAD mode,
        so this is probably redundant, but if we are running in a process where
        somebody initialized SQLite before us it is needed anyway.  */
-#ifdef SQLITE_OPEN_NOMUTEX
     flags |= SQLITE_OPEN_NOMUTEX;
-#endif
 
     /* Open the database. Note that a handle is returned, even when an error
        occurs (except for out-of-memory); thus, we can safely use it to
@@ -813,23 +811,9 @@ svn_sqlite__open(svn_sqlite__db_t **db, 
   sqlite3_profile((*db)->db3, sqlite_profiler, (*db)->db3);
 #endif
 
-  /* Work around a bug in SQLite 3.7.7.  The bug was fixed in SQLite 3.7.7.1.
-
-     See:
-
-       Date: Sun, 26 Jun 2011 18:52:14 -0400
-       From: Richard Hipp <dr...@sqlite.org>
-       To: General Discussion of SQLite Database <sq...@sqlite.org>
-       Cc: dev@subversion.apache.org
-       Subject: Re: [sqlite] PRAGMA bug in 3.7.7 (but fine in 3.7.6.3)
-       Message-ID: <BA...@mail.gmail.com>
-   */
+  /* ### simplify this. remnants of some old SQLite compat code.  */
   {
     int ignored_err = SQLITE_OK;
-#if !SQLITE_VERSION_AT_LEAST(3,7,8) && defined(SQLITE_SCHEMA)
-    if (!strcmp(sqlite3_libversion(), "3.7.7"))
-      ignored_err = SQLITE_SCHEMA;
-#endif
 
     SVN_ERR(exec_sql2(*db, "PRAGMA case_sensitive_like=1;", ignored_err));
   }
@@ -853,7 +837,7 @@ svn_sqlite__open(svn_sqlite__db_t **db, 
                  Requires SQLite >= 3.6.18  */
               "PRAGMA recursive_triggers=ON;"));
 
-#if SQLITE_VERSION_AT_LEAST(3,6,19) && defined(SVN_DEBUG)
+#if defined(SVN_DEBUG)
   /* When running in debug mode, enable the checking of foreign key
      constraints.  This has possible performance implications, so we don't
      bother to do it for production...for now. */



Re: svn commit: r1347802 - in /subversion/trunk: configure.ac subversion/libsvn_subr/sqlite.c

Posted by Greg Stein <gs...@gmail.com>.
On Thu, Jun 7, 2012 at 5:19 PM,  <gs...@apache.org> wrote:
> Author: gstein
> Date: Thu Jun  7 21:19:23 2012
> New Revision: 1347802
>
> URL: http://svn.apache.org/viewvc?rev=1347802&view=rev
> Log:
> Per discussion from the list, bump to SQLite 3.7.12 as minimum.

Note that configure's --enable-sqlite-compatibility-version=X.Y.Z
switch doesn't really work any more since all the code requires
3.7.12. I'm not quite sure what to do with that, so I just left it.

Cheers,
-g