Skip to content
/ server Public

Commit a7528a6

Browse files
committed
Merge 11.4 into 11.8
2 parents ac1b7d0 + 8e7d42c commit a7528a6

File tree

94 files changed

+3258
-391
lines changed

Some content is hidden

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

94 files changed

+3258
-391
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Docs/INFO_BIN
3030
Docs/INFO_SRC
3131
Makefile
3232
TAGS
33+
mariadb-plugin-columnstore.install.generated
3334
Testing/
3435
tmp/
3536
VERSION.dep

extra/mariabackup/xtrabackup.cc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1237,7 +1237,7 @@ static void backup_file_op_fail(uint32_t space_id, int type,
12371237
msg("DDL tracking : create %" PRIu32 " \"%.*s\"",
12381238
space_id, int(len), name);
12391239
fail = !check_if_skip_table(spacename.c_str());
1240-
if (!opt_no_lock && fail &&
1240+
if (fail && !opt_no_lock &&
12411241
check_if_fts_table(spacename.c_str())) {
12421242
/* Ignore the FTS internal table because InnoDB does
12431243
create intermediate table and their associative FTS
@@ -1264,6 +1264,11 @@ static void backup_file_op_fail(uint32_t space_id, int type,
12641264
break;
12651265
case FILE_DELETE:
12661266
fail = !check_if_skip_table(spacename.c_str())
1267+
/* Ignore the FTS internal table because InnoDB may
1268+
drop intermediate table and their associative FTS
1269+
internal table as a part of inplace rollback operation.
1270+
backup_set_alter_copy_lock() downgrades the
1271+
MDL_BACKUP_DDL before inplace phase of alter */
12671272
&& !check_if_fts_table(spacename.c_str());
12681273
msg("DDL tracking : delete %" PRIu32 " \"%.*s\"",
12691274
space_id, int(len), name);
@@ -5877,6 +5882,8 @@ void CorruptedPages::backup_fix_ddl(ds_ctxt *ds_data, ds_ctxt *ds_meta)
58775882
node, 0, dest_name.c_str(),
58785883
wf_write_through, *this);
58795884
}
5885+
5886+
DBUG_MARIABACKUP_EVENT("after_backup_fix_ddl", {});
58805887
}
58815888

58825889

include/mysql_com.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,13 @@ enum mariadb_field_attr_t
406406

407407
#define SERVER_STATUS_ANSI_QUOTES 32768U
408408

409+
/*
410+
Set for stored procedures if the select query returned a row
411+
To check for an empty query, one must also check thd::get_sent_row_count()
412+
*/
413+
414+
#define SERVER_STATUS_RETURNED_ROW (1U << 16)
415+
409416
/**
410417
Server status flags that must be cleared when starting
411418
execution of a new SQL statement.
@@ -422,7 +429,8 @@ enum mariadb_field_attr_t
422429
SERVER_STATUS_DB_DROPPED |\
423430
SERVER_STATUS_CURSOR_EXISTS|\
424431
SERVER_STATUS_LAST_ROW_SENT|\
425-
SERVER_SESSION_STATE_CHANGED)
432+
SERVER_SESSION_STATE_CHANGED|\
433+
SERVER_STATUS_RETURNED_ROW)
426434

427435
#define MYSQL_ERRMSG_SIZE 512
428436
#define NET_READ_TIMEOUT 30 /* Timeout on read */

mysql-test/main/func_regexp_pcre.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -791,7 +791,7 @@ SELECT 'AB' RLIKE 'A# this is a comment\nB';
791791
1
792792
SET default_regex_flags=DEFAULT;
793793
SELECT 'Aq' RLIKE 'A\\q';
794-
ERROR 42000: Regex error 'unrecognized character follows \ at offset 2'
794+
ERROR 42000: Regex error 'unrecognized character follows \ at offset 3'
795795
SET default_regex_flags='EXTRA';
796796
SELECT 'A' RLIKE 'B';
797797
'A' RLIKE 'B'

mysql-test/main/func_regexp_pcre.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,8 @@ SELECT 'AB' RLIKE 'A B';
382382
SELECT 'AB' RLIKE 'A# this is a comment\nB';
383383
SET default_regex_flags=DEFAULT;
384384

385+
# pcre2 versions differ in the reported error offset for invalid escapes
386+
--replace_regex /offset 2/offset 3/
385387
--error ER_REGEXP_ERROR
386388
SELECT 'Aq' RLIKE 'A\\q';
387389

mysql-test/main/gis.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ insert into t1 values ('85984',GeomFromText('MULTIPOLYGON(((-115.006363
371371

372372
# Expected results are 115.2970604672862 and 36.23335610879993, but IA64 returns
373373
# slightly different values due to fused multiply-add instructions.
374-
--replace_result 115.29706047613604 115.2970604672862 36.23335611157958 36.23335610879993
374+
--replace_regex /115.2970604[67]\d+/115.2970604672862/ /36.233356111579\d+/36.23335610879993/
375375
select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
376376
t1 where object_id=85998;
377377

mysql-test/main/kill-2.result

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
create user foo@'127.0.0.1';
55
connect con1,127.0.0.1,foo,,;
66
connection default;
7-
select user from information_schema.processlist;
7+
select user from information_schema.processlist where id=$con1_id;
88
user
99
foo
10-
root
1110
kill user foo@'127.0.0.1';
1211
drop user foo@'127.0.0.1';
1312
#
@@ -28,11 +27,11 @@ Id User Host db Command Time State Info Progress
2827
kill user a;
2928
kill user x;
3029
connection a;
31-
show processlist;
32-
Id User Host db Command Time State Info Progress
33-
# root # test # # # # #
34-
# a # NULL # # # # #
35-
# b # test # # # # #
30+
select user from information_schema.processlist where id in (connection_id(), $b_id, $default_id) order by user;
31+
user
32+
a
33+
b
34+
root
3635
kill user b;
3736
ERROR HY000: Operation KILL USER failed for b@%
3837
connection default;

mysql-test/main/kill-2.test

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
create user foo@'127.0.0.1';
1717

1818
--connect (con1,127.0.0.1,foo,,)
19+
let $con1_id= `select connection_id()`;
1920

2021
--connection default
21-
select user from information_schema.processlist;
22+
evalp select user from information_schema.processlist where id=$con1_id;
2223
kill user foo@'127.0.0.1';
2324

2425
let $wait_condition=
@@ -31,20 +32,21 @@ drop user foo@'127.0.0.1';
3132
--echo #
3233
--echo # KILL USER and missing privileges
3334
--echo #
35+
let $default_id= `select connection_id()`;
3436
create user a@'127.0.0.1';
3537
create user b@'127.0.0.1';
3638
grant process on *.* to a@'127.0.0.1';
3739
grant select on *.* to b@'127.0.0.1';
3840
--connect a,127.0.0.1,a
3941
show grants;
4042
--connect b,127.0.0.1,b
43+
let $b_id= `select connection_id()`;
4144
--replace_column 1 # 3 # 5 # 6 # 9 #
4245
show processlist;
4346
kill user a; # existing connection, but not visible to current_user
4447
kill user x; # not existing connection
4548
--connection a
46-
--replace_column 1 # 3 # 5 # 6 # 7 # 8 # 9 #
47-
show processlist;
49+
evalp select user from information_schema.processlist where id in (connection_id(), $b_id, $default_id) order by user;
4850
--error ER_KILL_DENIED_ERROR
4951
kill user b;
5052
--connection default

mysql-test/main/max_session_mem_used.result

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@ REPAIR LOCAL TABLE t1 USE_FRM;
4545
REPAIR LOCAL TABLE t1;
4646
DROP TABLE t1;
4747
SET max_session_mem_used=default;
48+
#
49+
# MDEV-38005 Assertion `(yyvsp[-3].simple_string) < (yyvsp[-1].simple_string)' failed
50+
#
51+
SET max_session_mem_used=1;
52+
Warnings:
53+
Warning 1292 Truncated incorrect max_session_mem_used value: '1'
54+
CREATE TABLE t SELECT 1000000000000000000000000000000000000000000000000000000000000000000000000000000001 AS c;
55+
ERROR HY000: The MariaDB server is running with the --max-session-mem-used=8192 option so it cannot execute this statement
56+
SET max_session_mem_used=default;
4857
# End of 10.6 tests
4958
#
5059
# MDEV-37489: SIGSEGV in get_param_default_value | store_schema_params

mysql-test/main/max_session_mem_used.test

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ REPAIR LOCAL TABLE t1;
8282
DROP TABLE t1;
8383
SET max_session_mem_used=default;
8484

85+
--echo #
86+
--echo # MDEV-38005 Assertion `(yyvsp[-3].simple_string) < (yyvsp[-1].simple_string)' failed
87+
--echo #
88+
SET max_session_mem_used=1;
89+
--error ER_OPTION_PREVENTS_STATEMENT
90+
CREATE TABLE t SELECT 1000000000000000000000000000000000000000000000000000000000000000000000000000000001 AS c;
91+
SET max_session_mem_used=default;
92+
8593
--echo # End of 10.6 tests
8694

8795
--echo #

0 commit comments

Comments
 (0)