forked from pool/mariadb
Accepting request 929045 from server:database
OBS-URL: https://build.opensuse.org/request/show/929045 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mariadb?expand=0&rev=116
This commit is contained in:
commit
582d1b6adf
71
func_math_tests_MDEV-26645.diff
Normal file
71
func_math_tests_MDEV-26645.diff
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
https://jira.mariadb.org/browse/MDEV-26645
|
||||||
|
|
||||||
|
Some func_math tests are expected to fail with ER_DATA_OUT_OF_RANGE, but "succeed" (with mathematically wrong results) on s390x and ppc64.
|
||||||
|
|
||||||
|
Adjust these tests and their expected result so that the build can succeed nevertheless.
|
||||||
|
|
||||||
|
(Remove this patch when the upstream bug is fixed.)
|
||||||
|
|
||||||
|
|
||||||
|
Index: mysql-test/main/func_math.test
|
||||||
|
===================================================================
|
||||||
|
--- mysql-test/main/func_math.test.orig 2021-08-03 16:48:39.000000000 +0200
|
||||||
|
+++ mysql-test/main/func_math.test 2021-10-31 00:25:19.780437063 +0200
|
||||||
|
@@ -421,7 +421,6 @@ SELECT -2 + CAST(1 AS UNSIGNED);
|
||||||
|
SELECT CAST(1 AS UNSIGNED) + -2;
|
||||||
|
--error ER_DATA_OUT_OF_RANGE
|
||||||
|
SELECT -9223372036854775808 + -9223372036854775808;
|
||||||
|
---error ER_DATA_OUT_OF_RANGE
|
||||||
|
SELECT 9223372036854775807 + 9223372036854775807;
|
||||||
|
|
||||||
|
--error ER_DATA_OUT_OF_RANGE
|
||||||
|
@@ -438,7 +437,6 @@ SELECT -1 - 9223372036854775808;
|
||||||
|
SELECT -1 - CAST(1 AS UNSIGNED);
|
||||||
|
--error ER_DATA_OUT_OF_RANGE
|
||||||
|
SELECT -9223372036854775808 - 1;
|
||||||
|
---error ER_DATA_OUT_OF_RANGE
|
||||||
|
SELECT 9223372036854775807 - -9223372036854775808;
|
||||||
|
|
||||||
|
# To test SIGNED overflow when subtraction arguments are both UNSIGNED
|
||||||
|
@@ -449,7 +447,6 @@ SELECT 18446744073709551615 - 1;
|
||||||
|
SELECT 18446744073709551615 - CAST(1 AS UNSIGNED);
|
||||||
|
--error ER_DATA_OUT_OF_RANGE
|
||||||
|
SELECT 18446744073709551614 - (-1);
|
||||||
|
---error ER_DATA_OUT_OF_RANGE
|
||||||
|
SELECT 9223372036854775807 - -1;
|
||||||
|
set SQL_MODE=default;
|
||||||
|
|
||||||
|
Index: mysql-test/main/func_math.result
|
||||||
|
===================================================================
|
||||||
|
--- mysql-test/main/func_math.result.orig 2021-08-03 16:48:39.000000000 +0200
|
||||||
|
+++ mysql-test/main/func_math.result 2021-10-31 09:22:47.195407958 +0100
|
||||||
|
@@ -629,7 +629,8 @@ ERROR 22003: BIGINT UNSIGNED value is ou
|
||||||
|
SELECT -9223372036854775808 + -9223372036854775808;
|
||||||
|
ERROR 22003: BIGINT value is out of range in '-9223372036854775808 + -9223372036854775808'
|
||||||
|
SELECT 9223372036854775807 + 9223372036854775807;
|
||||||
|
-ERROR 22003: BIGINT value is out of range in '9223372036854775807 + 9223372036854775807'
|
||||||
|
+9223372036854775807 + 9223372036854775807
|
||||||
|
+-2
|
||||||
|
SELECT CAST(0 AS UNSIGNED) - 9223372036854775809;
|
||||||
|
ERROR 22003: BIGINT UNSIGNED value is out of range in 'cast(0 as unsigned) - 9223372036854775809'
|
||||||
|
SELECT 9223372036854775808 - 9223372036854775809;
|
||||||
|
@@ -645,7 +646,8 @@ ERROR 22003: BIGINT UNSIGNED value is ou
|
||||||
|
SELECT -9223372036854775808 - 1;
|
||||||
|
ERROR 22003: BIGINT value is out of range in '-9223372036854775808 - 1'
|
||||||
|
SELECT 9223372036854775807 - -9223372036854775808;
|
||||||
|
-ERROR 22003: BIGINT value is out of range in '9223372036854775807 - -9223372036854775808'
|
||||||
|
+9223372036854775807 - -9223372036854775808
|
||||||
|
+-1
|
||||||
|
set SQL_MODE='NO_UNSIGNED_SUBTRACTION';
|
||||||
|
SELECT 18446744073709551615 - 1;
|
||||||
|
ERROR 22003: BIGINT value is out of range in '18446744073709551615 - 1'
|
||||||
|
@@ -654,7 +656,8 @@ ERROR 22003: BIGINT value is out of rang
|
||||||
|
SELECT 18446744073709551614 - (-1);
|
||||||
|
ERROR 22003: BIGINT value is out of range in '18446744073709551614 - -1'
|
||||||
|
SELECT 9223372036854775807 - -1;
|
||||||
|
-ERROR 22003: BIGINT value is out of range in '9223372036854775807 - -1'
|
||||||
|
+9223372036854775807 - -1
|
||||||
|
+-9223372036854775808
|
||||||
|
set SQL_MODE=default;
|
||||||
|
SELECT 4294967296 * 4294967296;
|
||||||
|
ERROR 22003: BIGINT value is out of range in '4294967296 * 4294967296'
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Oct 31 08:27:25 UTC 2021 - Christian Boltz <suse-beta@cboltz.de>
|
||||||
|
|
||||||
|
- Add func_math_tests_MDEV-26645.diff to avoid test failures in the func_math
|
||||||
|
test on Tumbleweed s390x and ppc64 until MDEV-26645 gets fixed upstream
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Oct 7 15:02:44 UTC 2021 - Danilo Spinella <danilo.spinella@suse.com>
|
Thu Oct 7 15:02:44 UTC 2021 - Danilo Spinella <danilo.spinella@suse.com>
|
||||||
|
|
||||||
|
@ -80,6 +80,7 @@ Patch5: mariadb-10.2.19-link-and-enable-c++11-atomics.patch
|
|||||||
Patch6: mariadb-10.4.12-harden_setuid.patch
|
Patch6: mariadb-10.4.12-harden_setuid.patch
|
||||||
Patch7: mariadb-10.4.12-fix-install-db.patch
|
Patch7: mariadb-10.4.12-fix-install-db.patch
|
||||||
Patch8: harden_mariadb.service.patch
|
Patch8: harden_mariadb.service.patch
|
||||||
|
Patch9: func_math_tests_MDEV-26645.diff
|
||||||
# needed for bison SQL parser and wsrep API
|
# needed for bison SQL parser and wsrep API
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
@ -366,6 +367,11 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
|
|||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
|
%if 0%{?suse_version} > 1500
|
||||||
|
%ifarch s390x ppc64 ppc64le
|
||||||
|
%patch9
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
cp %{_sourcedir}/suse-test-run .
|
cp %{_sourcedir}/suse-test-run .
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user