[sqlite/f20] Revert part of the upstream commit dca1945aeb3fb005, since it causes nautilus to crash Related: #107

Vít Ondruch vondruch at fedoraproject.org
Fri Apr 25 10:01:55 UTC 2014


commit 50f9f44bea599820760f97af7dbbf90bd184d58b
Author: Honza Horak <hhorak at redhat.com>
Date:   Fri Apr 25 10:56:58 2014 +0200

    Revert part of the upstream commit dca1945aeb3fb005, since it causes nautilus to crash Related: #1075889

 sqlite-bug1075889.patch |   30 ++++++++++++++++++++++++++++++
 sqlite.spec             |    9 ++++++++-
 2 files changed, 38 insertions(+), 1 deletions(-)
---
diff --git a/sqlite-bug1075889.patch b/sqlite-bug1075889.patch
new file mode 100644
index 0000000..8911f6c
--- /dev/null
+++ b/sqlite-bug1075889.patch
@@ -0,0 +1,30 @@
+Revert part of the upstream commit dca1945aeb3fb005, since it causes nautilus to crash
+RHBZ: #1075889
+Reported to sqlite-users at sqlite.org on 14/04/25
+
+diff -up sqlite-src-3080402/src/where.c.bug1075889 sqlite-src-3080402/src/where.c
+--- sqlite-src-3080402/src/where.c.bug1075889	2014-04-25 10:16:15.977722490 +0200
++++ sqlite-src-3080402/src/where.c	2014-04-25 10:18:12.600728656 +0200
+@@ -5532,6 +5529,22 @@ WhereInfo *sqlite3WhereBegin(
+     goto whereBeginError;
+   }
+ 
++  /* If the ORDER BY (or GROUP BY) clause contains references to general
++  ** expressions, then we won't be able to satisfy it using indices, so
++  ** go ahead and disable it now.
++  */
++  if( pOrderBy && (wctrlFlags & WHERE_WANT_DISTINCT)!=0 ){
++    for(ii=0; ii<pOrderBy->nExpr; ii++){
++      Expr *pExpr = sqlite3ExprSkipCollate(pOrderBy->a[ii].pExpr);
++      if( pExpr->op!=TK_COLUMN ){
++        pWInfo->pOrderBy = pOrderBy = 0;
++        break;
++      }else if( pExpr->iColumn<0 ){
++        break;
++      }
++    }
++  }
++
+   if( wctrlFlags & WHERE_WANT_DISTINCT ){
+     if( isDistinctRedundant(pParse, pTabList, &pWInfo->sWC, pResultSet) ){
+       /* The DISTINCT marking is pointless.  Ignore it. */
diff --git a/sqlite.spec b/sqlite.spec
index 98d3cb9..a8f326e 100644
--- a/sqlite.spec
+++ b/sqlite.spec
@@ -10,7 +10,7 @@
 Summary: Library that implements an embeddable SQL database engine
 Name: sqlite
 Version: %{rpmver}
-Release: 2%{?dist}
+Release: 3%{?dist}
 License: Public Domain
 Group: Applications/Databases
 URL: http://www.sqlite.org/
@@ -31,6 +31,7 @@ Patch3: sqlite-3.7.10-pagecache-overflow-test.patch
 Patch4: sqlite-3.7.15-no-malloc-usable-size.patch
 # Temporary workaround for failed percentile test, see patch for details
 Patch5: sqlite-3.8.0-percentile-test.patch
+Patch6: sqlite-bug1075889.patch
 
 BuildRequires: ncurses-devel readline-devel glibc-devel
 BuildRequires: autoconf
@@ -113,6 +114,7 @@ This package contains the analysis program for %{name}.
 %patch3 -p1 -b .pagecache-overflow-test
 %patch4 -p1 -b .no-malloc-usable-size
 %patch5 -p1 -b .nonprecise-percentile-test
+%patch6 -p1 -b .bug1075889
 
 # Remove cgi-script erroneously included in sqlite-doc-3070500
 rm -f %{name}-doc-%{realver}/search
@@ -204,6 +206,11 @@ make test
 %endif
 
 %changelog
+* Fri Apr 25 2014 Honza Horak <hhorak at redhat.com> - 3.8.4.2-3
+- Revert part of the upstream commit dca1945aeb3fb005, since it causes
+  nautilus to crash
+  Related: #1075889
+
 * Wed Apr 02 2014 Jan Stanek <jstanek at redhat.com> 3.8.4.2-2
 - Added building and shipping of sqlite3_analyzer (#1007159)
 


More information about the scm-commits mailing list