Accepting request 768317 from home:StefanBruens:branches:server:database
- Fix a regression on ppc64be and s390x, found by the fuzzing tests, add 04885763c4cd00cb-s390-compatibility.patch. - Adapt some FTS tests to work on big endian archs: b20503aaf5b6595a-adapt-FTS-tests-for-big-endian.patch OBS-URL: https://build.opensuse.org/request/show/768317 OBS-URL: https://build.opensuse.org/package/show/server:database/sqlite3?expand=0&rev=241
This commit is contained in:
parent
049da797ac
commit
e293172c27
25
04885763c4cd00cb-s390-compatibility.patch
Normal file
25
04885763c4cd00cb-s390-compatibility.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
Index: src/insert.c
|
||||||
|
==================================================================
|
||||||
|
--- src/insert.c
|
||||||
|
+++ src/insert.c
|
||||||
|
@@ -2168,16 +2168,18 @@
|
||||||
|
** Hence, make a complete copy of the opcode, rather than using
|
||||||
|
** a pointer to the opcode. */
|
||||||
|
x = *sqlite3VdbeGetOp(v, addrConflictCk);
|
||||||
|
if( x.opcode!=OP_IdxRowid ){
|
||||||
|
int p2; /* New P2 value for copied conflict check opcode */
|
||||||
|
+ const char *zP4;
|
||||||
|
if( sqlite3OpcodeProperty[x.opcode]&OPFLG_JUMP ){
|
||||||
|
p2 = lblRecheckOk;
|
||||||
|
}else{
|
||||||
|
p2 = x.p2;
|
||||||
|
}
|
||||||
|
- sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, x.p4.z, x.p4type);
|
||||||
|
+ zP4 = x.p4type==P4_INT32 ? SQLITE_INT_TO_PTR(x.p4.i) : x.p4.z;
|
||||||
|
+ sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, zP4, x.p4type);
|
||||||
|
sqlite3VdbeChangeP5(v, x.p5);
|
||||||
|
VdbeCoverageIf(v, p2!=x.p2);
|
||||||
|
}
|
||||||
|
nConflictCk--;
|
||||||
|
addrConflictCk++;
|
||||||
|
|
65
b20503aaf5b6595a-adapt-FTS-tests-for-big-endian.patch
Normal file
65
b20503aaf5b6595a-adapt-FTS-tests-for-big-endian.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
Index: ext/fts5/test/fts5matchinfo.test
|
||||||
|
==================================================================
|
||||||
|
--- ext/fts5/test/fts5matchinfo.test
|
||||||
|
+++ ext/fts5/test/fts5matchinfo.test
|
||||||
|
@@ -498,23 +498,26 @@
|
||||||
|
CREATE VIRTUAL TABLE t1 USING fts5(x, y);
|
||||||
|
INSERT INTO t1 VALUES('a', 'b');
|
||||||
|
INSERT INTO t1 VALUES('c', 'd');
|
||||||
|
}
|
||||||
|
|
||||||
|
+if {$tcl_platform(byteOrder)=="littleEndian"} {
|
||||||
|
+ set res {X'02000000'}
|
||||||
|
+} else {
|
||||||
|
+ set res {X'00000002'}
|
||||||
|
+}
|
||||||
|
do_execsql_test 15.1 {
|
||||||
|
SELECT quote(matchinfo(t1, 'n')) FROM t1 LIMIT 1;
|
||||||
|
-} {X'02000000'}
|
||||||
|
-
|
||||||
|
+} $res
|
||||||
|
do_execsql_test 15.2 {
|
||||||
|
DELETE FROM t1_content WHERE rowid=1;
|
||||||
|
SELECT quote(matchinfo(t1, 'n')) FROM t1 LIMIT 1;
|
||||||
|
-} {X'02000000'}
|
||||||
|
+} $res
|
||||||
|
|
||||||
|
fts5_aux_test_functions db
|
||||||
|
do_execsql_test 15.3 {
|
||||||
|
SELECT fts5_test_all(t1) FROM t1 LIMIT 1;
|
||||||
|
} {
|
||||||
|
{columnsize {0 0} columntext {c d} columntotalsize {2 2} poslist {} tokenize {c d} rowcount 2}
|
||||||
|
}
|
||||||
|
|
||||||
|
finish_test
|
||||||
|
-
|
||||||
|
|
||||||
|
Index: test/fts4aa.test
|
||||||
|
==================================================================
|
||||||
|
--- test/fts4aa.test
|
||||||
|
+++ test/fts4aa.test
|
||||||
|
@@ -227,17 +227,22 @@
|
||||||
|
} {1 {database disk image is malformed}}
|
||||||
|
|
||||||
|
# 2019-11-18 https://bugs.chromium.org/p/chromium/issues/detail?id=1025467
|
||||||
|
db close
|
||||||
|
sqlite3 db :memory:
|
||||||
|
+if {$tcl_platform(byteOrder)=="littleEndian"} {
|
||||||
|
+ set res {X'0200000000000000000000000E0000000E00000001000000010000000100000001000000'}
|
||||||
|
+} else {
|
||||||
|
+ set res {X'0000000200000000000000000000000E0000000E00000001000000010000000100000001'}
|
||||||
|
+}
|
||||||
|
do_execsql_test fts4aa-6.10 {
|
||||||
|
CREATE VIRTUAL TABLE f USING fts4();
|
||||||
|
INSERT INTO f_segdir VALUES (77,91,0,0,'255 77',x'0001308000004d5c4ddddddd4d4d7b4d4d4d614d8019ff4d05000001204d4d2e4d6e4d4d4d4b4d6c4d004d4d4d4d4d4d3d000000004d5d4d4d645d4d004d4d4d4d4d4d4d4d4d454d6910004d05ffff054d646c4d004d5d4d4d4d4d3d000000004d4d4d4d4d4d4d4d4d4d4d69624d4d4d04004d4d4d4d4d604d4ce1404d554d45');
|
||||||
|
INSERT INTO f_segdir VALUES (77,108,0,0,'255 77',x'0001310000fa64004d4d4d3c5d4d654d4d4d614d8000ff4d05000001204d4d2e4d6e4d4d4dff4d4d4d4d4d4d00104d4d4d4d000000004d4d4d0400311d4d4d4d4d4d4d4d4d4d684d6910004d05ffff054d4d6c4d004d4d4d4d4d4d3d000000004d4d4d4d644d4d4d4d4d4d69624d4d4d03ed4d4d4d4d4d604d4ce1404d550080');
|
||||||
|
INSERT INTO f_stat VALUES (0,x'80808080100000000064004d4d4d3c4d4d654d4d4d614d8000ff4df6ff1a00204d4d2e4d6e4d4d4d104d4d4d4d4d4d00104d4d4d4d4d4d69574d4d4d000031044d4d4d3e4d4d4c4d05004d6910');
|
||||||
|
SELECT quote(matchinfo(f,'pnax')) from f where f match '0 1';
|
||||||
|
-} {X'0200000000000000000000000E0000000E00000001000000010000000100000001000000'}
|
||||||
|
+} $res
|
||||||
|
|
||||||
|
# 2019-11-18 Detect infinite loop in fts3SelectLeaf()
|
||||||
|
db close
|
||||||
|
sqlite3 db :memory:
|
||||||
|
do_catchsql_test fts4aa-7.10 {
|
||||||
|
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 29 12:59:23 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
||||||
|
|
||||||
|
- Fix a regression on ppc64be and s390x, found by the fuzzing
|
||||||
|
tests, add 04885763c4cd00cb-s390-compatibility.patch.
|
||||||
|
- Adapt some FTS tests to work on big endian archs:
|
||||||
|
b20503aaf5b6595a-adapt-FTS-tests-for-big-endian.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jan 27 21:53:02 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
|
Mon Jan 27 21:53:02 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package sqlite3
|
# spec file for package sqlite3
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2020 SUSE LLC
|
||||||
#
|
#
|
||||||
# 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
|
||||||
@ -29,6 +29,10 @@ URL: http://www.sqlite.org/
|
|||||||
Source0: http://www.sqlite.org/2020/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/2020/sqlite-doc-%{tarversion}.zip
|
Source2: http://www.sqlite.org/2020/sqlite-doc-%{tarversion}.zip
|
||||||
|
# PATCH-FIX-UPSTREAM -- Fix errors on s390
|
||||||
|
Patch0: 04885763c4cd00cb-s390-compatibility.patch
|
||||||
|
# PATCH-FIX-UPSTREAM -- Fix FTS test failures on big endian archs
|
||||||
|
Patch1: b20503aaf5b6595a-adapt-FTS-tests-for-big-endian.patch
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
%if %{with icu}
|
%if %{with icu}
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
@ -107,6 +111,8 @@ 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
|
||||||
|
|
||||||
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