[arch-commits] Commit in sqlite/trunk (PKGBUILD sqlite-nautilus.patch)

Andreas Radke andyrtr at nymeria.archlinux.org
Thu May 1 15:16:48 UTC 2014


    Date: Thursday, May 1, 2014 @ 17:16:47
  Author: andyrtr
Revision: 211940

upgpkg: sqlite 3.8.4.3-2

apply upstream fix for FS#39861

Added:
  sqlite/trunk/sqlite-nautilus.patch
Modified:
  sqlite/trunk/PKGBUILD

-----------------------+
 PKGBUILD              |   14 +++++++++++---
 sqlite-nautilus.patch |   41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-05-01 14:51:57 UTC (rev 211939)
+++ PKGBUILD	2014-05-01 15:16:47 UTC (rev 211940)
@@ -8,7 +8,7 @@
 _docver=${_amalgamationver}
 #_docver=3080001
 pkgver=3.8.4.3
-pkgrel=1
+pkgrel=2
 pkgdesc="A C library that implements an SQL database engine"
 arch=('i686' 'x86_64')
 license=('custom:Public Domain')
@@ -17,12 +17,20 @@
 source=( # tarball containing the amalgamation for SQLite >= 3.7.5 together with a configure script and makefile for building it; includes now also the Tcl Extension Architecture (TEA)
 	http://www.sqlite.org/2014/sqlite-autoconf-$_amalgamationver.tar.gz
 	http://www.sqlite.org/2014/sqlite-doc-${_docver}.zip
-	license.txt)
+	license.txt
+	sqlite-nautilus.patch)
 options=('!emptydirs')
 sha1sums=('70f3b100fa22e5bfebfe1b0a2102612e3c6c53fb'
           'ce8615799a9da7fc9d2cbcd2774d77da4ba72417'
-          'f34f6daa4ab3073d74e774aad21d66878cf26853')
+          'f34f6daa4ab3073d74e774aad21d66878cf26853'
+          '4e9a4f80c91bbaf80f0f45b9b97fb1cbe3464bc7')
 
+prepare() {
+  cd "$srcdir"/sqlite-autoconf-$_amalgamationver
+  # https://bugs.archlinux.org/task/39861
+  patch -Np1 -i ${srcdir}/sqlite-nautilus.patch
+}
+
 build() {
   export CFLAGS="$CFLAGS -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_SECURE_DELETE"
 

Added: sqlite-nautilus.patch
===================================================================
--- sqlite-nautilus.patch	                        (rev 0)
+++ sqlite-nautilus.patch	2014-05-01 15:16:47 UTC (rev 211940)
@@ -0,0 +1,41 @@
+Upstream fix for the issue that caused nautilus to crash.
+RHBZ: #1075889
+
+--- src/sqlite3.c
++++ src/sqlite3.c
+@@ -4855,18 +4855,10 @@
+   ** rowid appears in the ORDER BY clause, the corresponding WhereLoop is
+   ** automatically order-distinct.
+   */
+ 
+   assert( pOrderBy!=0 );
+-
+-  /* Sortability of virtual tables is determined by the xBestIndex method
+-  ** of the virtual table itself */
+-  if( pLast->wsFlags & WHERE_VIRTUALTABLE ){
+-    testcase( nLoop>0 );  /* True when outer loops are one-row and match 
+-                          ** no ORDER BY terms */
+-    return pLast->u.vtab.isOrdered;
+-  }
+   if( nLoop && OptimizationDisabled(db, SQLITE_OrderByIdxJoin) ) return 0;
+ 
+   nOrderBy = pOrderBy->nExpr;
+   testcase( nOrderBy==BMS-1 );
+   if( nOrderBy>BMS-1 ) return 0;  /* Cannot optimize overly large ORDER BYs */
+@@ -4875,11 +4867,14 @@
+   orderDistinctMask = 0;
+   ready = 0;
+   for(iLoop=0; isOrderDistinct && obSat<obDone && iLoop<=nLoop; iLoop++){
+     if( iLoop>0 ) ready |= pLoop->maskSelf;
+     pLoop = iLoop<nLoop ? pPath->aLoop[iLoop] : pLast;
+-    assert( (pLoop->wsFlags & WHERE_VIRTUALTABLE)==0 );
++    if( pLoop->wsFlags & WHERE_VIRTUALTABLE ){
++      if( pLoop->u.vtab.isOrdered ) obSat = obDone;
++      break;
++    }
+     iCur = pWInfo->pTabList->a[pLoop->iTab].iCursor;
+ 
+     /* Mark off any ORDER BY term X that is a column in the table of
+     ** the current loop for which there is term in the WHERE
+     ** clause of the form X IS NULL or X=? that reference only outer
+




More information about the arch-commits mailing list