Skip to content
Permalink
Browse files
Merge 10.4 to 10.5
  • Loading branch information
dr-m committed Oct 22, 2020
2 parents cca75c9 + 9868253 commit 1657b7a
Show file tree
Hide file tree
Showing 185 changed files with 3,706 additions and 654 deletions.
@@ -6,11 +6,11 @@ FUNCTION(MY_CHECK_AND_SET_LINKER_FLAG flag_to_set)
RETURN()
ENDIF()
STRING(REGEX REPLACE "[-,= +]" "_" result "HAVE_LINK_FLAG_${flag_to_set}")
SET(SAVE_CMAKE_REQUIRED_LINK_OPTIONS "${CMAKE_REQUIRED_LINK_OPTIONS}")
SET(SAVE_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
STRING(REGEX REPLACE "^-Wno-" "-W" flag_to_check ${flag_to_set})
SET(CMAKE_REQUIRED_LINK_OPTIONS ${CMAKE_REQUIRED_LINK_OPTIONS} ${flag_to_check})
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${flag_to_check})
CHECK_CXX_SOURCE_COMPILES("int main(void) { return 0; }" ${result})
SET(CMAKE_REQUIRED_LINK_OPTIONS "${SAVE_CMAKE_REQUIRED_LINK_OPTIONS}")
SET(CMAKE_REQUIRED_LIBRARIES "${SAVE_CMAKE_REQUIRED_LIBRARIES}")
IF (${result})
FOREACH(linktype SHARED MODULE EXE)
IF(ARGN)
@@ -2291,7 +2291,7 @@ check_if_skip_database(
if (databases_exclude_hash.array &&
find_filter_in_hashtable(name, &databases_exclude_hash,
&database) &&
!database->has_tables) {
(!database->has_tables || !databases_include_hash.array)) {
/* Database is found and there are no tables specified,
skip entire db. */
return DATABASE_SKIP;
@@ -2650,7 +2650,7 @@ static lsn_t xtrabackup_copy_log(lsn_t start_lsn, lsn_t end_lsn, bool last)
/* We got a full log block. */
scanned_lsn += data_len;
} else if (data_len >= log_sys.trailer_offset()
|| data_len <= LOG_BLOCK_HDR_SIZE) {
|| data_len < LOG_BLOCK_HDR_SIZE) {
/* We got a garbage block (abrupt end of the log). */
msg(0,"garbage block: " LSN_PF ",%zu",scanned_lsn, data_len);
break;
@@ -57,13 +57,13 @@ all would be imported into a table named
patient\&.
.PP
.PP
\fBmysqldump\fR
\fBmysqlimport\fR
supports the following options, which can be specified on the command line or in the
[mysqldump]
[mysqlimport]
and
[client]
option file groups\&.
\fBmysqldump\fR
\fBmysqlimport\fR
also supports the options for processing option files\&.
.sp
.RS 4
@@ -267,17 +267,17 @@ Empty the table before importing the text file\&.
.sp -1
.IP \(bu 2.3
.\}
.\" mysqldump: fields-terminated-by option
.\" fields-terminated-by option: mysqldump
.\" mysqlimport: fields-terminated-by option
.\" fields-terminated-by option: mysqlimport
\fB\-\-fields\-terminated\-by=\&.\&.\&.\fR,
.\" mysqldump: fields-enclosed-by option
.\" fields-enclosed-by option: mysqldump
.\" mysqlimport: fields-enclosed-by option
.\" fields-enclosed-by option: mysqlimport
\fB\-\-fields\-enclosed\-by=\&.\&.\&.\fR,
.\" mysqldump: fields-optionally-enclosed-by option
.\" fields-optionally-enclosed-by option: mysqldump
.\" mysqlimport: fields-optionally-enclosed-by option
.\" fields-optionally-enclosed-by option: mysqlimport
\fB\-\-fields\-optionally\-enclosed\-by=\&.\&.\&.\fR,
.\" mysqldump: fields-escaped-by option
.\" fields-escaped-by option: mysqldump
.\" mysqlimport: fields-escaped-by option
.\" fields-escaped-by option: mysqlimport
\fB\-\-fields\-escaped\-by=\&.\&.\&.\fR
.sp
These options have the same meaning as the corresponding clauses for
@@ -379,8 +379,8 @@ lines of the data file\&.
.sp -1
.IP \(bu 2.3
.\}
.\" mysqldump: lines-terminated-by option
.\" lines-terminated-by option: mysqldump
.\" mysqlimport: lines-terminated-by option
.\" lines-terminated-by option: mysqlimport
\fB\-\-lines\-terminated\-by=\&.\&.\&.\fR
.sp
This option has the same meaning as the corresponding clause for
@@ -0,0 +1,50 @@
--source include/have_debug.inc
--source include/have_debug_sync.inc
--source include/count_sessions.inc

--disable_warnings
drop table if exists t0,t1,t2;
--enable_warnings

create table t0(a int primary key);
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);

create table t1(a int primary key);
insert into t1 select A.a + B.a* 10 + C.a * 100 from t0 A, t0 B, t0 C;

create table t2 (
kp1 int,
kp2 int,
col char(100),
key(kp1, kp2)
);
insert into t2 select a, a, a from t1;

select engine from information_schema.tables
where table_schema=database() and table_name='t2';

explain
select * from t2 where kp1 between 10 and 20 and kp2 +1 >100;

let $target_id= `select connection_id()`;

set debug_sync='handler_index_cond_check SIGNAL at_icp_check WAIT_FOR go';
send
select * from t2 where kp1 between 10 and 20 and kp2 +1 >100;

connect (con1, localhost, root,,);
connection con1;
set debug_sync='now WAIT_FOR at_icp_check';
evalp kill query $target_id;
set debug_sync='now SIGNAL go';

connection default;

--error ER_QUERY_INTERRUPTED
reap;
set debug_sync='RESET';

disconnect con1;
drop table t0,t1,t2;
--source include/wait_until_count_sessions.inc

@@ -35,6 +35,7 @@ BEGIN
AND variable_name != 'INNODB_BUFFER_POOL_LOAD_AT_STARTUP'
AND variable_name not like 'GTID%POS'
AND variable_name != 'GTID_BINLOG_STATE'
AND variable_name != 'THREAD_POOL_SIZE'
ORDER BY variable_name;

-- Dump all databases, there should be none
@@ -0,0 +1,68 @@
--source include/have_debug.inc
--source include/have_debug_sync.inc
--source include/count_sessions.inc

--echo #
--echo # MDEV-22761 KILL QUERY during rowid_filter, crashes
--echo #

create table t0(a int);
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);

create table t1(a int);
insert into t1 select A.a + B.a* 10 + C.a * 100 from t0 A, t0 B, t0 C;

# 100 rows
create table t2(a int);
insert into t2 select A.a + B.a* 10 from t0 A, t0 B;

# 10K rows
CREATE TABLE t3 (
key1 int ,
key2 int,
filler varchar(255),
KEY (key1),
KEY (key2)
);
select engine from information_schema.tables
where table_schema=database() and table_name='t3';

insert into t3
select
A.a,
A.a,
'filler-data-filler-data'
from
t0 A, t1 B;

analyze table t2,t3;

explain
select * from t2, t3
where
t3.key1=t2.a and t3.key2 in (2,3);

let $target_id= `select connection_id()`;

set debug_sync='handler_rowid_filter_check SIGNAL at_rowid_filter_check WAIT_FOR go';
send
select * from t2, t3
where
t3.key1=t2.a and t3.key2 in (2,3);

connect (con1, localhost, root,,);
connection con1;
set debug_sync='now WAIT_FOR at_rowid_filter_check';
evalp kill query $target_id;
set debug_sync='now SIGNAL go';

connection default;
disconnect con1;

--error ER_QUERY_INTERRUPTED
reap;
set debug_sync='RESET';

drop table t0,t1,t2,t3;
--source include/wait_until_count_sessions.inc

@@ -2521,6 +2521,17 @@ t2 CREATE TABLE `t2` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
DROP TABLE t2, t1;
#
# MDEV-18163: Assertion `table_share->tmp_table != NO_TMP_TABLE ||
# m_lock_type != 2' failed in handler::ha_rnd_next(); / Assertion
# `table_list->table' failed in find_field_in_table_ref / ERROR 1901
# (on optimized builds)
#
CREATE TABLE t1 (k1 varchar(10) DEFAULT 5);
CREATE TABLE t2 (i1 int);
ALTER TABLE t1 ALTER COLUMN k1 SET DEFAULT (SELECT 1 FROM t2 limit 1);
ERROR HY000: Function or expression 'select ...' cannot be used in the DEFAULT clause of `k1`
DROP TABLE t1,t2;
#
# End of 10.2 tests
#
#
@@ -2036,6 +2036,20 @@ ALTER TABLE t2 DROP CONSTRAINT PRIMARY KEY;
SHOW CREATE TABLE t2;
DROP TABLE t2, t1;

--echo #
--echo # MDEV-18163: Assertion `table_share->tmp_table != NO_TMP_TABLE ||
--echo # m_lock_type != 2' failed in handler::ha_rnd_next(); / Assertion
--echo # `table_list->table' failed in find_field_in_table_ref / ERROR 1901
--echo # (on optimized builds)
--echo #


CREATE TABLE t1 (k1 varchar(10) DEFAULT 5);
CREATE TABLE t2 (i1 int);
--error ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED
ALTER TABLE t1 ALTER COLUMN k1 SET DEFAULT (SELECT 1 FROM t2 limit 1);
DROP TABLE t1,t2;

--echo #
--echo # End of 10.2 tests
--echo #
@@ -0,0 +1,34 @@
set default_storage_engine=aria;
drop table if exists t0,t1,t2;
create table t0(a int primary key);
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
create table t1(a int primary key);
insert into t1 select A.a + B.a* 10 + C.a * 100 from t0 A, t0 B, t0 C;
create table t2 (
kp1 int,
kp2 int,
col char(100),
key(kp1, kp2)
);
insert into t2 select a, a, a from t1;
select engine from information_schema.tables
where table_schema=database() and table_name='t2';
engine
Aria
explain
select * from t2 where kp1 between 10 and 20 and kp2 +1 >100;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 range kp1 kp1 5 NULL 10 Using index condition
set debug_sync='handler_index_cond_check SIGNAL at_icp_check WAIT_FOR go';
select * from t2 where kp1 between 10 and 20 and kp2 +1 >100;
connect con1, localhost, root,,;
connection con1;
set debug_sync='now WAIT_FOR at_icp_check';
kill query $target_id;
set debug_sync='now SIGNAL go';
connection default;
ERROR 70100: Query execution was interrupted
set debug_sync='RESET';
disconnect con1;
drop table t0,t1,t2;
set default_storage_engine=default;
@@ -0,0 +1,5 @@

set default_storage_engine=aria;
--source include/icp_debug_kill.inc
set default_storage_engine=default;

0 comments on commit 1657b7a

Please sign in to comment.