Accepting request 766693 from home:AndreasStieger:branches:server:database
SQLite 3.31.0 OBS-URL: https://build.opensuse.org/request/show/766693 OBS-URL: https://build.opensuse.org/package/show/server:database/sqlite3?expand=0&rev=238
This commit is contained in:
parent
e5d5862acb
commit
358762e70c
@ -1,23 +0,0 @@
|
|||||||
Index: src/expr.c
|
|
||||||
==================================================================
|
|
||||||
--- src/expr.c
|
|
||||||
+++ src/expr.c
|
|
||||||
@@ -5229,12 +5229,16 @@
|
|
||||||
** ordinary join.
|
|
||||||
*/
|
|
||||||
int sqlite3ExprImpliesNonNullRow(Expr *p, int iTab){
|
|
||||||
Walker w;
|
|
||||||
p = sqlite3ExprSkipCollateAndLikely(p);
|
|
||||||
- if( p && p->op==TK_NOTNULL ){
|
|
||||||
+ if( p==0 ) return 0;
|
|
||||||
+ if( p->op==TK_NOTNULL ){
|
|
||||||
p = p->pLeft;
|
|
||||||
+ }else if( p->op==TK_AND ){
|
|
||||||
+ if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab) ) return 1;
|
|
||||||
+ p = p->pRight;
|
|
||||||
}
|
|
||||||
w.xExprCallback = impliesNotNullRow;
|
|
||||||
w.xSelectCallback = 0;
|
|
||||||
w.xSelectCallback2 = 0;
|
|
||||||
w.eCode = 0;
|
|
||||||
|
|
@ -1,91 +0,0 @@
|
|||||||
Index: src/expr.c
|
|
||||||
==================================================================
|
|
||||||
--- src/expr.c
|
|
||||||
+++ src/expr.c
|
|
||||||
@@ -5166,14 +5166,15 @@
|
|
||||||
return WRC_Abort;
|
|
||||||
}
|
|
||||||
return WRC_Prune;
|
|
||||||
|
|
||||||
case TK_AND:
|
|
||||||
- if( sqlite3ExprImpliesNonNullRow(pExpr->pLeft, pWalker->u.iCur)
|
|
||||||
- && sqlite3ExprImpliesNonNullRow(pExpr->pRight, pWalker->u.iCur)
|
|
||||||
- ){
|
|
||||||
- pWalker->eCode = 1;
|
|
||||||
+ assert( pWalker->eCode==0 );
|
|
||||||
+ sqlite3WalkExpr(pWalker, pExpr->pLeft);
|
|
||||||
+ if( pWalker->eCode ){
|
|
||||||
+ pWalker->eCode = 0;
|
|
||||||
+ sqlite3WalkExpr(pWalker, pExpr->pRight);
|
|
||||||
}
|
|
||||||
return WRC_Prune;
|
|
||||||
|
|
||||||
case TK_BETWEEN:
|
|
||||||
sqlite3WalkExpr(pWalker, pExpr->pLeft);
|
|
||||||
@@ -5228,19 +5229,12 @@
|
|
||||||
** ordinary join.
|
|
||||||
*/
|
|
||||||
int sqlite3ExprImpliesNonNullRow(Expr *p, int iTab){
|
|
||||||
Walker w;
|
|
||||||
p = sqlite3ExprSkipCollateAndLikely(p);
|
|
||||||
- while( p ){
|
|
||||||
- if( p->op==TK_NOTNULL ){
|
|
||||||
- p = p->pLeft;
|
|
||||||
- }else if( p->op==TK_AND ){
|
|
||||||
- if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab) ) return 1;
|
|
||||||
- p = p->pRight;
|
|
||||||
- }else{
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
+ if( p && p->op==TK_NOTNULL ){
|
|
||||||
+ p = p->pLeft;
|
|
||||||
}
|
|
||||||
w.xExprCallback = impliesNotNullRow;
|
|
||||||
w.xSelectCallback = 0;
|
|
||||||
w.xSelectCallback2 = 0;
|
|
||||||
w.eCode = 0;
|
|
||||||
|
|
||||||
Index: test/join.test
|
|
||||||
==================================================================
|
|
||||||
--- test/join.test
|
|
||||||
+++ test/join.test
|
|
||||||
@@ -902,8 +902,38 @@
|
|
||||||
} {1 {}}
|
|
||||||
|
|
||||||
do_execsql_test join-18.4 {
|
|
||||||
SELECT NOT(v0.a IS FALSE) FROM v0
|
|
||||||
} {1}
|
|
||||||
+
|
|
||||||
+#-------------------------------------------------------------------------
|
|
||||||
+reset_db
|
|
||||||
+do_execsql_test join-19.0 {
|
|
||||||
+ CREATE TABLE t1(a);
|
|
||||||
+ CREATE TABLE t2(b);
|
|
||||||
+ INSERT INTO t1(a) VALUES(0);
|
|
||||||
+ CREATE VIEW v0(c) AS SELECT t2.b FROM t1 LEFT JOIN t2;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+do_execsql_test join-19.1 {
|
|
||||||
+ SELECT * FROM v0 WHERE v0.c NOTNULL NOTNULL;
|
|
||||||
+} {{}}
|
|
||||||
+
|
|
||||||
+do_execsql_test join-19.2 {
|
|
||||||
+ SELECT * FROM t1 LEFT JOIN t2
|
|
||||||
+} {0 {}}
|
|
||||||
+
|
|
||||||
+do_execsql_test join-19.3 {
|
|
||||||
+ SELECT * FROM t1 LEFT JOIN t2 WHERE (b IS NOT NULL) IS NOT NULL;
|
|
||||||
+} {0 {}}
|
|
||||||
+
|
|
||||||
+do_execsql_test join-19.4 {
|
|
||||||
+ SELECT (b IS NOT NULL) IS NOT NULL FROM t1 LEFT JOIN t2
|
|
||||||
+} {1}
|
|
||||||
+
|
|
||||||
+do_execsql_test join-19.5 {
|
|
||||||
+ SELECT * FROM t1 LEFT JOIN t2 WHERE
|
|
||||||
+ (b IS NOT NULL AND b IS NOT NULL) IS NOT NULL;
|
|
||||||
+} {0 {}}
|
|
||||||
|
|
||||||
finish_test
|
|
||||||
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
Index: src/expr.c
|
|
||||||
==================================================================
|
|
||||||
--- src/expr.c
|
|
||||||
+++ src/expr.c
|
|
||||||
@@ -5232,13 +5232,15 @@
|
|
||||||
Walker w;
|
|
||||||
p = sqlite3ExprSkipCollateAndLikely(p);
|
|
||||||
if( p==0 ) return 0;
|
|
||||||
if( p->op==TK_NOTNULL ){
|
|
||||||
p = p->pLeft;
|
|
||||||
- }else if( p->op==TK_AND ){
|
|
||||||
- if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab) ) return 1;
|
|
||||||
- p = p->pRight;
|
|
||||||
+ }else{
|
|
||||||
+ while( p->op==TK_AND ){
|
|
||||||
+ if( sqlite3ExprImpliesNonNullRow(p->pLeft, iTab) ) return 1;
|
|
||||||
+ p = p->pRight;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
w.xExprCallback = impliesNotNullRow;
|
|
||||||
w.xSelectCallback = 0;
|
|
||||||
w.xSelectCallback2 = 0;
|
|
||||||
w.eCode = 0;
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
--- src/os_unix.c_orig 2019-12-26 00:56:55.810897741 +0100
|
|
||||||
+++ src/os_unix.c 2019-12-26 00:59:29.904449135 +0100
|
|
||||||
@@ -6259,7 +6259,8 @@
|
|
||||||
|
|
||||||
if( flags==SQLITE_ACCESS_EXISTS ){
|
|
||||||
struct stat buf;
|
|
||||||
- *pResOut = (0==osStat(zPath, &buf) && buf.st_size>0);
|
|
||||||
+ *pResOut = (0==osStat(zPath, &buf) &&
|
|
||||||
+ ((buf.st_size>0) || S_ISDIR(buf.st_mode)));
|
|
||||||
}else{
|
|
||||||
*pResOut = osAccess(zPath, W_OK|R_OK)==0;
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:10f585ad8c631c47187510a895944ac47e8f6f23b1171aebc8f8ce6c0c650415
|
|
||||||
size 9485342
|
|
3
sqlite-doc-3310000.zip
Normal file
3
sqlite-doc-3310000.zip
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ff85a209f7ab92c2c1c5ec100ca5aded8094c7f34768111df7294a3ca3f50607
|
||||||
|
size 9586441
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4690370737189149c9e8344414aa371f89a70e3744ba317cef1a49fb0ee81ce1
|
|
||||||
size 12648162
|
|
3
sqlite-src-3310000.zip
Normal file
3
sqlite-src-3310000.zip
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b4dc0af8327a010aae00167b41ea6630347e7fb39892cb9374bdeb97f0d0e3b7
|
||||||
|
size 12510000
|
@ -1,18 +0,0 @@
|
|||||||
Index: src/date.c
|
|
||||||
==================================================================
|
|
||||||
--- src/date.c
|
|
||||||
+++ src/date.c
|
|
||||||
@@ -686,11 +686,11 @@
|
|
||||||
*/
|
|
||||||
if( sqlite3_stricmp(z, "unixepoch")==0 && p->rawS ){
|
|
||||||
r = p->s*1000.0 + 210866760000000.0;
|
|
||||||
if( r>=0.0 && r<464269060800000.0 ){
|
|
||||||
clearYMD_HMS_TZ(p);
|
|
||||||
- p->iJD = (sqlite3_int64)r;
|
|
||||||
+ p->iJD = (sqlite3_int64)(r + 0.5);
|
|
||||||
p->validJD = 1;
|
|
||||||
p->rawS = 0;
|
|
||||||
rc = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 23 18:58:04 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
|
||||||
|
- SQLite 3.31.0:
|
||||||
|
* add support for generated columns
|
||||||
|
* various fixes and improvements
|
||||||
|
- drop upstreamed patches:
|
||||||
|
* 8a39167bd2-Further-improvements-to-LEFT-JOIN.patch
|
||||||
|
* fix_dir_exists_on_btrfs.patch
|
||||||
|
* 7833feecfe-Prevent-SQLite-from-bad-NULL-assumption.patch
|
||||||
|
* 548082dfab-Improvements-to-the-LEFT-JOIN.patch
|
||||||
|
* sqlite3-avoid-truncation-error.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jan 17 14:29:39 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
Fri Jan 17 14:29:39 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||||
|
|
||||||
|
25
sqlite3.spec
25
sqlite3.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package sqlite3
|
# spec file for package sqlite3
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -18,27 +18,17 @@
|
|||||||
|
|
||||||
%bcond_with icu
|
%bcond_with icu
|
||||||
%define oname sqlite
|
%define oname sqlite
|
||||||
%define tarversion 3300100
|
%define tarversion 3310000
|
||||||
Name: sqlite3
|
Name: sqlite3
|
||||||
Version: 3.30.1
|
Version: 3.31.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Embeddable SQL Database Engine
|
Summary: Embeddable SQL Database Engine
|
||||||
License: SUSE-Public-Domain
|
License: SUSE-Public-Domain
|
||||||
Group: Productivity/Databases/Servers
|
Group: Productivity/Databases/Servers
|
||||||
URL: http://www.sqlite.org/
|
URL: http://www.sqlite.org/
|
||||||
Source0: http://www.sqlite.org/2019/sqlite-src-%{tarversion}.zip
|
Source0: http://www.sqlite.org/2020/sqlite-src-%{tarversion}.zip
|
||||||
Source1: baselibs.conf
|
Source1: baselibs.conf
|
||||||
Source2: http://www.sqlite.org/2019/sqlite-doc-%{tarversion}.zip
|
Source2: http://www.sqlite.org/2020/sqlite-doc-%{tarversion}.zip
|
||||||
# PATCH-FIX-UPSTREAM -- Fix errors with NULL
|
|
||||||
Patch0: 7833feecfe-Prevent-SQLite-from-bad-NULL-assumption.patch
|
|
||||||
# PATCH-FIX-UPSTREAM -- Fix errors in LEFT JOIN
|
|
||||||
Patch1: 548082dfab-Improvements-to-the-LEFT-JOIN.patch
|
|
||||||
# PATCH-FIX-UPSTREAM -- Fix errors in LEFT JOIN
|
|
||||||
Patch2: 8a39167bd2-Further-improvements-to-LEFT-JOIN.patch
|
|
||||||
# PATCH-FIX-UPSTREAM -- Fix incorrect check of stat.size for directories
|
|
||||||
Patch3: fix_dir_exists_on_btrfs.patch
|
|
||||||
# PATCH-FIX-OPENSUSE -- Fix error introduced by rounding and truncation, mostly visible on x86 / 80 bit floats
|
|
||||||
Patch4: sqlite3-avoid-truncation-error.patch
|
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
%if %{with icu}
|
%if %{with icu}
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
@ -117,11 +107,6 @@ other documentation found on sqlite.org. The files can be found in
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n sqlite-src-%{tarversion} -a2
|
%setup -q -n sqlite-src-%{tarversion} -a2
|
||||||
%patch0 -p0
|
|
||||||
%patch1 -p0
|
|
||||||
%patch2 -p0
|
|
||||||
%patch3 -p0
|
|
||||||
%patch4 -p0
|
|
||||||
|
|
||||||
rm -v sqlite-doc-%{tarversion}/releaselog/current.html
|
rm -v sqlite-doc-%{tarversion}/releaselog/current.html
|
||||||
ln -sv `echo %{version} | sed "s/\./_/g"`.html sqlite-doc-%{tarversion}/releaselog/current.html
|
ln -sv `echo %{version} | sed "s/\./_/g"`.html sqlite-doc-%{tarversion}/releaselog/current.html
|
||||||
|
Loading…
Reference in New Issue
Block a user