Skip to content

Commit 029d6a0

Browse files
committed
Merge branch '10.11' into bb-11.4-release
2 parents 63c2826 + d7dadb8 commit 029d6a0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1241
-99
lines changed

debian/mariadb-server.links

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/dh-exec
2+
usr/lib/${DEB_HOST_MULTIARCH}/libmariadb3/plugin/caching_sha2_password.so usr/lib/mysql/plugin/caching_sha2_password.so
3+
usr/lib/${DEB_HOST_MULTIARCH}/libmariadb3/plugin/client_ed25519.so usr/lib/mysql/plugin/client_ed25519.so
4+
usr/lib/${DEB_HOST_MULTIARCH}/libmariadb3/plugin/dialog.so usr/lib/mysql/plugin/dialog.so
5+
usr/lib/${DEB_HOST_MULTIARCH}/libmariadb3/plugin/mysql_clear_password.so usr/lib/mysql/plugin/mysql_clear_password.so
6+
usr/lib/${DEB_HOST_MULTIARCH}/libmariadb3/plugin/sha256_password.so usr/lib/mysql/plugin/sha256_password.so

extra/perror.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,8 +353,13 @@ int main(int argc,char *argv[])
353353
{
354354
found= 1;
355355
if (verbose)
356+
{
357+
int hundred= code / 100;
356358
printf("MariaDB error code %3d (%s): %s\n"
357-
"Learn more: https://mariadb.com/kb/en/e%3d/\n", code, name, msg, code);
359+
"Learn more: https://mariadb.com/docs/server/reference/"
360+
"error-codes/mariadb-error-codes-%d00-to-%d99/e%3d\n",
361+
code, name, msg, hundred, hundred, code);
362+
}
358363
else
359364
puts(msg);
360365
}

mysql-test/main/func_str.result

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5628,6 +5628,12 @@ SET sql_mode=DEFAULT;
56285628
select locate(1,2,NULL);
56295629
locate(1,2,NULL)
56305630
NULL
5631+
#
5632+
# MDEV-37835 mysqli silently trims each json_arrayagg result to modulo 64KB
5633+
#
5634+
select group_concat(v) from ( select '$a' as v union all select '$b' as v) t;
5635+
group_concat(v)
5636+
a...aaaaa,b...bbbbb
56315637
# End of 10.11 tests
56325638
#
56335639
# MDEV-9069 extend AES_ENCRYPT() and AES_DECRYPT() to support IV and the algorithm

mysql-test/main/func_str.test

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2577,6 +2577,14 @@ SET sql_mode=DEFAULT;
25772577
--echo #
25782578
select locate(1,2,NULL);
25792579

2580+
--echo #
2581+
--echo # MDEV-37835 mysqli silently trims each json_arrayagg result to modulo 64KB
2582+
--echo #
2583+
let $a=`select repeat('a', 65540)`;
2584+
let $b=`select repeat('b', 65540)`;
2585+
replace_regex /a{65535}/a.../ /b{65535}/b.../;
2586+
evalp select group_concat(v) from ( select '$a' as v union all select '$b' as v) t;
2587+
25802588
--echo # End of 10.11 tests
25812589

25822590
--echo #

mysql-test/main/gis-precise.result

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -860,3 +860,11 @@ TRUNCATE(ST_Distance_Sphere(@zenica, @sarajevo), 10)
860860
SELECT TRUNCATE(ST_Distance_Sphere(@sarajevo, @zenica), 10);
861861
TRUNCATE(ST_Distance_Sphere(@sarajevo, @zenica), 10)
862862
55878.5933759170
863+
#
864+
# MDEV-31499 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult.
865+
#
866+
SELECT ST_NUMGEOMETRIES(
867+
ST_INTERSECTION(
868+
ST_MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3.8571428571428568 2.857142857142857,5.571428571428571 4.571428571428571,9 4,3.8571428571428568 2.857142857142857)),((4.5 4.75,3 5,4.6 7.4,6 6,4.5 4.75))) '), ST_MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 4,3 5,2 5,2 7,5 4,3 4),(5 4,7.4 7,8 7,8 4,5 4))) ') )) as V;
869+
V
870+
3

mysql-test/main/gis-precise.test

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,3 +476,13 @@ set @zenica = ST_GeomFromText('POINT(17.907743 44.203438)');
476476
set @sarajevo = ST_GeomFromText('POINT(18.413076 43.856258)');
477477
SELECT TRUNCATE(ST_Distance_Sphere(@zenica, @sarajevo), 10);
478478
SELECT TRUNCATE(ST_Distance_Sphere(@sarajevo, @zenica), 10);
479+
480+
481+
--echo #
482+
--echo # MDEV-31499 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult.
483+
--echo #
484+
485+
SELECT ST_NUMGEOMETRIES(
486+
ST_INTERSECTION(
487+
ST_MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3.8571428571428568 2.857142857142857,5.571428571428571 4.571428571428571,9 4,3.8571428571428568 2.857142857142857)),((4.5 4.75,3 5,4.6 7.4,6 6,4.5 4.75))) '), ST_MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 4,3 5,2 5,2 7,5 4,3 4),(5 4,7.4 7,8 7,8 4,5 4))) ') )) as V;
488+

mysql-test/main/gis-rtree.result

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1629,3 +1629,8 @@ DROP TABLE t1;
16291629
#
16301630
# End of 10.1 tests
16311631
#
1632+
CREATE TABLE t1 (c POINT NOT NULL,SPATIAL (c));
1633+
INSERT INTO t1 VALUES (ST_GEOMFROMTEXT ('POINT(1 0)'));
1634+
UPDATE t1 SET c='';
1635+
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
1636+
DROP TABLE t1;

mysql-test/main/gis-rtree.test

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,3 +1010,15 @@ DROP TABLE t1;
10101010
--echo #
10111011
--echo # End of 10.1 tests
10121012
--echo #
1013+
1014+
#
1015+
# Bug #31766 SIGSEGV in maria_rtree_split_page | maria_rtree_add_key
1016+
#
1017+
1018+
CREATE TABLE t1 (c POINT NOT NULL,SPATIAL (c));
1019+
INSERT INTO t1 VALUES (ST_GEOMFROMTEXT ('POINT(1 0)'));
1020+
--error ER_CANT_CREATE_GEOMETRY_OBJECT
1021+
UPDATE t1 SET c='';
1022+
DROP TABLE t1;
1023+
1024+

mysql-test/main/join_nested.result

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2062,4 +2062,67 @@ LEFT JOIN (t1 a LEFT JOIN t1 b ON t1.i = b.i) ON c.i = t1.i);
20622062
1
20632063
1
20642064
DROP TABLE t1;
2065+
#
2066+
# MDEV-35206: Assertion in JOIN::dbug_verify_sj_inner_tables
2067+
#
2068+
SET @save_optimizer_join_limit_pref_ratio= @@optimizer_join_limit_pref_ratio;
2069+
SET @save_optimizer_search_depth= @@optimizer_search_depth;
2070+
CREATE TABLE t1 (c1 VARCHAR(64) DEFAULT NULL, c2 VARCHAR(8) DEFAULT NULL);
2071+
INSERT INTO t1 (c1) values ('one');
2072+
INSERT INTO t1 (c2) values ('2');
2073+
SET optimizer_join_limit_pref_ratio=10;
2074+
SET optimizer_search_depth=1;
2075+
SELECT
2076+
c1
2077+
FROM
2078+
t1
2079+
WHERE
2080+
c2 IN (SELECT c2
2081+
FROM t1
2082+
WHERE c1 IN (SELECT c1
2083+
FROM t1
2084+
WHERE c1 IN (NULL)
2085+
)
2086+
)
2087+
ORDER BY c1 LIMIT 1;
2088+
c1
2089+
DROP TABLE t1;
2090+
#
2091+
# similar issue with join::cur_embedding_map
2092+
#
2093+
CREATE TABLE t10 (a int, b int, index(b));
2094+
INSERT INTO t10 SELECT seq, seq FROM seq_1_to_10;
2095+
CREATE TABLE t11(a int, b int);
2096+
CREATE TABLE t12(a int, b int, index(b));
2097+
INSERT INTO t11 select seq, seq FROM seq_1_to_20;
2098+
INSERT INTO t12 select seq, seq FROM seq_1_to_40;
2099+
CREATE TABLE t13(a int, b int);
2100+
CREATE TABLE t14(a int, b int, index(b));
2101+
INSERT INTO t13 select seq, seq FROM seq_1_to_20;
2102+
INSERT INTO t14 select seq, seq FROM seq_1_to_40;
2103+
ANALYZE TABLE t10, t11, t12;
2104+
Table Op Msg_type Msg_text
2105+
test.t10 analyze status Engine-independent statistics collected
2106+
test.t10 analyze status Table is already up to date
2107+
test.t11 analyze status Engine-independent statistics collected
2108+
test.t11 analyze status OK
2109+
test.t12 analyze status Engine-independent statistics collected
2110+
test.t12 analyze status Table is already up to date
2111+
EXPLAIN SELECT *
2112+
FROM
2113+
t10 LEFT JOIN
2114+
(
2115+
t11 JOIN t12 ON t11.b=t12.b
2116+
left join (t13 join t14 on t13.b=t14.b) on t13.a=t11.a
2117+
) ON t10.a=t11.a
2118+
ORDER BY t10.b LIMIT 1;
2119+
id select_type table type possible_keys key key_len ref rows Extra
2120+
1 SIMPLE t10 ALL NULL NULL NULL NULL 10 Using temporary; Using filesort
2121+
1 SIMPLE t11 ALL NULL NULL NULL NULL 20 Using where
2122+
1 SIMPLE t12 ref b b 5 test.t11.b 1
2123+
1 SIMPLE t13 ALL NULL NULL NULL NULL 20 Using where
2124+
1 SIMPLE t14 ref b b 5 test.t13.b 1
2125+
DROP TABLE t10, t11, t12, t13, t14;
2126+
SET optimizer_join_limit_pref_ratio= @save_optimizer_join_limit_pref_ratio;
2127+
SET optimizer_search_depth= @save_optimizer_search_depth;
20652128
# end of 10.11 tests

mysql-test/main/join_nested.test

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
--disable_warnings
33
DROP TABLE IF EXISTS t0,t1,t2,t3,t4,t5,t6,t7,t8,t9;
44
--enable_warnings
5+
--source include/have_sequence.inc
56

67
SET @save_optimizer_switch=@@optimizer_switch;
78
SET optimizer_switch=ifnull(@optimizer_switch_for_join_nested_test,'outer_join_with_cache=off');
@@ -1471,4 +1472,69 @@ SELECT 1 FROM t1 WHERE i IN
14711472
LEFT JOIN (t1 a LEFT JOIN t1 b ON t1.i = b.i) ON c.i = t1.i);
14721473

14731474
DROP TABLE t1;
1475+
1476+
--echo #
1477+
--echo # MDEV-35206: Assertion in JOIN::dbug_verify_sj_inner_tables
1478+
--echo #
1479+
1480+
SET @save_optimizer_join_limit_pref_ratio= @@optimizer_join_limit_pref_ratio;
1481+
SET @save_optimizer_search_depth= @@optimizer_search_depth;
1482+
1483+
CREATE TABLE t1 (c1 VARCHAR(64) DEFAULT NULL, c2 VARCHAR(8) DEFAULT NULL);
1484+
INSERT INTO t1 (c1) values ('one');
1485+
INSERT INTO t1 (c2) values ('2');
1486+
1487+
SET optimizer_join_limit_pref_ratio=10;
1488+
SET optimizer_search_depth=1;
1489+
1490+
SELECT
1491+
c1
1492+
FROM
1493+
t1
1494+
WHERE
1495+
c2 IN (SELECT c2
1496+
FROM t1
1497+
WHERE c1 IN (SELECT c1
1498+
FROM t1
1499+
WHERE c1 IN (NULL)
1500+
)
1501+
)
1502+
ORDER BY c1 LIMIT 1;
1503+
1504+
DROP TABLE t1;
1505+
1506+
--echo #
1507+
--echo # similar issue with join::cur_embedding_map
1508+
--echo #
1509+
CREATE TABLE t10 (a int, b int, index(b));
1510+
INSERT INTO t10 SELECT seq, seq FROM seq_1_to_10;
1511+
1512+
CREATE TABLE t11(a int, b int);
1513+
CREATE TABLE t12(a int, b int, index(b));
1514+
1515+
INSERT INTO t11 select seq, seq FROM seq_1_to_20;
1516+
INSERT INTO t12 select seq, seq FROM seq_1_to_40;
1517+
1518+
CREATE TABLE t13(a int, b int);
1519+
CREATE TABLE t14(a int, b int, index(b));
1520+
1521+
INSERT INTO t13 select seq, seq FROM seq_1_to_20;
1522+
INSERT INTO t14 select seq, seq FROM seq_1_to_40;
1523+
1524+
ANALYZE TABLE t10, t11, t12;
1525+
1526+
EXPLAIN SELECT *
1527+
FROM
1528+
t10 LEFT JOIN
1529+
(
1530+
t11 JOIN t12 ON t11.b=t12.b
1531+
left join (t13 join t14 on t13.b=t14.b) on t13.a=t11.a
1532+
) ON t10.a=t11.a
1533+
ORDER BY t10.b LIMIT 1;
1534+
1535+
DROP TABLE t10, t11, t12, t13, t14;
1536+
1537+
SET optimizer_join_limit_pref_ratio= @save_optimizer_join_limit_pref_ratio;
1538+
SET optimizer_search_depth= @save_optimizer_search_depth;
1539+
14741540
--echo # end of 10.11 tests

0 commit comments

Comments
 (0)