mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge branch '10.1' into 10.2
This commit is contained in:
@ -2308,3 +2308,47 @@ col_int_nokey
|
||||
1
|
||||
DROP TABLE t1,t2,t3;
|
||||
SET TIMESTAMP=0;
|
||||
#
|
||||
# MDEV-15262 Wrong results for SELECT..WHERE non_indexed_datetime_column=indexed_time_column
|
||||
#
|
||||
SET TIMESTAMP=UNIX_TIMESTAMP('2012-01-31 10:14:35');
|
||||
CREATE TABLE t1 (col_time_key TIME, KEY(col_time_key));
|
||||
CREATE TABLE t2 (col_datetime_key DATETIME);
|
||||
INSERT INTO t1 VALUES ('-760:00:00'),('760:00:00');
|
||||
INSERT INTO t1 VALUES ('-770:00:00'),('770:00:00');
|
||||
INSERT INTO t2 SELECT * FROM t1;
|
||||
SELECT * FROM t2 STRAIGHT_JOIN t1 IGNORE INDEX(col_time_key) WHERE col_time_key = col_datetime_key;
|
||||
col_datetime_key col_time_key
|
||||
2011-12-30 08:00:00 -760:00:00
|
||||
2012-03-02 16:00:00 760:00:00
|
||||
2011-12-29 22:00:00 -770:00:00
|
||||
2012-03-03 02:00:00 770:00:00
|
||||
SELECT * FROM t2 STRAIGHT_JOIN t1 FORCE INDEX (col_time_key) WHERE col_time_key = col_datetime_key;
|
||||
col_datetime_key col_time_key
|
||||
2011-12-29 22:00:00 -770:00:00
|
||||
2011-12-30 08:00:00 -760:00:00
|
||||
2012-03-02 16:00:00 760:00:00
|
||||
2012-03-03 02:00:00 770:00:00
|
||||
INSERT INTO t1 VALUES ('-838:59:59'),('838:59:59');
|
||||
INSERT INTO t2 VALUES (DATE_ADD(CURRENT_DATE, INTERVAL '-838:59:59' HOUR_SECOND));
|
||||
INSERT INTO t2 VALUES (DATE_ADD(CURRENT_DATE, INTERVAL '838:59:59' HOUR_SECOND));
|
||||
INSERT INTO t2 VALUES (DATE_ADD(CURRENT_DATE, INTERVAL '-839:00:00' HOUR_SECOND));
|
||||
INSERT INTO t2 VALUES (DATE_ADD(CURRENT_DATE, INTERVAL '839:00:00' HOUR_SECOND));
|
||||
SELECT * FROM t2 STRAIGHT_JOIN t1 IGNORE INDEX(col_time_key) WHERE col_time_key = col_datetime_key;
|
||||
col_datetime_key col_time_key
|
||||
2011-12-30 08:00:00 -760:00:00
|
||||
2012-03-02 16:00:00 760:00:00
|
||||
2011-12-29 22:00:00 -770:00:00
|
||||
2012-03-03 02:00:00 770:00:00
|
||||
2011-12-27 01:00:01 -838:59:59
|
||||
2012-03-05 22:59:59 838:59:59
|
||||
SELECT * FROM t2 STRAIGHT_JOIN t1 FORCE INDEX (col_time_key) WHERE col_time_key = col_datetime_key;
|
||||
col_datetime_key col_time_key
|
||||
2011-12-29 22:00:00 -770:00:00
|
||||
2011-12-30 08:00:00 -760:00:00
|
||||
2012-03-02 16:00:00 760:00:00
|
||||
2012-03-03 02:00:00 770:00:00
|
||||
2011-12-27 01:00:01 -838:59:59
|
||||
2012-03-05 22:59:59 838:59:59
|
||||
DROP TABLE t1, t2;
|
||||
SET TIMESTAMP=DEFAULT;
|
||||
|
@ -26,14 +26,7 @@ foobar 2
|
||||
# Restart server with keysbad3.txt
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table test/t1 in tablespace is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Warning 192 Table t1 in file ./test/t1.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
DROP TABLE t1;
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
# Start server with keys3.txt
|
||||
SET GLOBAL innodb_default_encryption_key_id=5;
|
||||
CREATE TABLE t2 (c VARCHAR(8), id int not null primary key, b int, key(b)) ENGINE=InnoDB ENCRYPTED=YES;
|
||||
@ -42,73 +35,32 @@ INSERT INTO t2 VALUES ('foobar',1,2);
|
||||
# Restart server with keys2.txt
|
||||
SELECT * FROM t2;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table test/t2 in tablespace is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SELECT * FROM t2 where id = 1;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SELECT * FROM t2 where b = 1;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
INSERT INTO t2 VALUES ('tmp',3,3);
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
DELETE FROM t2 where b = 3;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
DELETE FROM t2 where id = 3;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
UPDATE t2 set b = b +1;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
OPTIMIZE TABLE t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 optimize Warning Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
test.t2 optimize Error Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
test.t2 optimize error Corrupt
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
ALTER TABLE t2 ADD COLUMN d INT;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
ANALYZE TABLE t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 analyze Warning Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
test.t2 analyze Error Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
test.t2 analyze error Corrupt
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
TRUNCATE TABLE t2;
|
||||
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Warning 192 Table t2 in file ./test/t2.ibd is encrypted but encryption service or used key_id is not available. Can't continue reading table.
|
||||
Error 1296 Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
|
||||
DROP TABLE t2;
|
||||
|
||||
# Start server with keys2.txt
|
||||
|
@ -1,3 +1,6 @@
|
||||
select @@encrypt_tmp_files;
|
||||
@@encrypt_tmp_files
|
||||
1
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES(1),(2);
|
||||
DELETE FROM t1 WHERE a=1;
|
||||
@ -25,6 +28,7 @@ h 10
|
||||
i 10
|
||||
j 10
|
||||
drop table t1;
|
||||
reset master;
|
||||
set global binlog_cache_size=8192;
|
||||
connect con1, localhost, root;
|
||||
create table t1 (a text) engine=innodb;
|
||||
@ -34,18 +38,71 @@ commit;
|
||||
start transaction;
|
||||
insert t1 select repeat(seq, 1000) from seq_1_to_8;
|
||||
commit;
|
||||
drop table t1;
|
||||
disconnect con1;
|
||||
connect con2, localhost, root;
|
||||
create table t1 (a text) engine=innodb;
|
||||
create table t2 (a text) engine=innodb;
|
||||
start transaction;
|
||||
insert t1 select repeat(seq, 1000) from seq_1_to_15;
|
||||
insert t2 select repeat(seq, 1000) from seq_1_to_15;
|
||||
savepoint foo;
|
||||
insert t1 select repeat(seq, 1000) from seq_16_to_30;
|
||||
insert t2 select repeat(seq, 1000) from seq_16_to_30;
|
||||
rollback to savepoint foo;
|
||||
insert t1 select repeat(seq, 1000) from seq_31_to_40;
|
||||
insert t2 select repeat(seq, 1000) from seq_31_to_40;
|
||||
commit;
|
||||
drop table t1;
|
||||
disconnect con2;
|
||||
connection default;
|
||||
flush binary logs;
|
||||
drop table t1, t2;
|
||||
set global binlog_cache_size=default;
|
||||
select left(a, 10) from t1;
|
||||
left(a, 10)
|
||||
1111111111
|
||||
2222222222
|
||||
3333333333
|
||||
4444444444
|
||||
5555555555
|
||||
6666666666
|
||||
7777777777
|
||||
8888888888
|
||||
9999999999
|
||||
1010101010
|
||||
1111111111
|
||||
1212121212
|
||||
1313131313
|
||||
1414141414
|
||||
1515151515
|
||||
1111111111
|
||||
2222222222
|
||||
3333333333
|
||||
4444444444
|
||||
5555555555
|
||||
6666666666
|
||||
7777777777
|
||||
8888888888
|
||||
select left(a, 10) from t2;
|
||||
left(a, 10)
|
||||
1111111111
|
||||
2222222222
|
||||
3333333333
|
||||
4444444444
|
||||
5555555555
|
||||
6666666666
|
||||
7777777777
|
||||
8888888888
|
||||
9999999999
|
||||
1010101010
|
||||
1111111111
|
||||
1212121212
|
||||
1313131313
|
||||
1414141414
|
||||
1515151515
|
||||
3131313131
|
||||
3232323232
|
||||
3333333333
|
||||
3434343434
|
||||
3535353535
|
||||
3636363636
|
||||
3737373737
|
||||
3838383838
|
||||
3939393939
|
||||
4040404040
|
||||
drop table t1, t2;
|
||||
|
@ -36,17 +36,18 @@ SELECT * FROM t1;
|
||||
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keysbad3.txt
|
||||
-- source include/restart_mysqld.inc
|
||||
|
||||
--disable_warnings
|
||||
--error ER_GET_ERRMSG
|
||||
SELECT * FROM t1;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
--enable_warnings
|
||||
|
||||
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keysbad3.txt
|
||||
-- source include/restart_mysqld.inc
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
|
||||
--disable_warnings
|
||||
--replace_regex /tablespace [0-9]*/tablespace /
|
||||
DROP TABLE t1;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# MDEV-8591: Database page corruption on disk or a failed space, Assertion failure in file buf0buf.cc
|
||||
@ -66,50 +67,41 @@ INSERT INTO t2 VALUES ('foobar',1,2);
|
||||
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
|
||||
-- source include/restart_mysqld.inc
|
||||
|
||||
--disable_warnings
|
||||
--error ER_GET_ERRMSG
|
||||
SELECT * FROM t2;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
SELECT * FROM t2 where id = 1;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
SELECT * FROM t2 where b = 1;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
--replace_regex /tablespace [0-9]*/tablespace /
|
||||
--error ER_GET_ERRMSG
|
||||
INSERT INTO t2 VALUES ('tmp',3,3);
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
DELETE FROM t2 where b = 3;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
DELETE FROM t2 where id = 3;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
UPDATE t2 set b = b +1;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
OPTIMIZE TABLE t2;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
ALTER TABLE t2 ADD COLUMN d INT;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
ANALYZE TABLE t2;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
TRUNCATE TABLE t2;
|
||||
--replace_regex /(tablespace|key_id) [1-9][0-9]*/\1 /
|
||||
SHOW WARNINGS;
|
||||
|
||||
DROP TABLE t2;
|
||||
--enable_warnings
|
||||
|
||||
--echo
|
||||
--echo # Start server with keys2.txt
|
||||
|
5
mysql-test/suite/encryption/t/tempfiles.combinations
Normal file
5
mysql-test/suite/encryption/t/tempfiles.combinations
Normal file
@ -0,0 +1,5 @@
|
||||
[none]
|
||||
binlog-checksum=NONE
|
||||
|
||||
[crc32]
|
||||
binlog-checksum=CRC32
|
1
mysql-test/suite/encryption/t/tempfiles.opt
Normal file
1
mysql-test/suite/encryption/t/tempfiles.opt
Normal file
@ -0,0 +1 @@
|
||||
--encrypt-tmp-files
|
@ -9,6 +9,8 @@ source include/have_binlog_format_row.inc;
|
||||
|
||||
source include/have_innodb.inc;
|
||||
|
||||
select @@encrypt_tmp_files;
|
||||
|
||||
#
|
||||
# MyISAM messing around with IO_CACHE::file
|
||||
#
|
||||
@ -29,6 +31,7 @@ update t1 set c=v, t=v;
|
||||
select sql_big_result t,count(t) from t1 group by t limit 10;
|
||||
drop table t1;
|
||||
|
||||
reset master;
|
||||
set global binlog_cache_size=8192;
|
||||
|
||||
connect con1, localhost, root;
|
||||
@ -46,7 +49,6 @@ commit;
|
||||
start transaction;
|
||||
insert t1 select repeat(seq, 1000) from seq_1_to_8;
|
||||
commit;
|
||||
drop table t1;
|
||||
|
||||
disconnect con1;
|
||||
connect con2, localhost, root;
|
||||
@ -56,17 +58,27 @@ connect con2, localhost, root;
|
||||
# Start a transaction, write until the cache goes to disk,
|
||||
# create a savepoint, write more blocks to disk, rollback to savepoint.
|
||||
#
|
||||
create table t1 (a text) engine=innodb;
|
||||
create table t2 (a text) engine=innodb;
|
||||
start transaction;
|
||||
insert t1 select repeat(seq, 1000) from seq_1_to_15;
|
||||
insert t2 select repeat(seq, 1000) from seq_1_to_15;
|
||||
savepoint foo;
|
||||
insert t1 select repeat(seq, 1000) from seq_16_to_30;
|
||||
insert t2 select repeat(seq, 1000) from seq_16_to_30;
|
||||
rollback to savepoint foo;
|
||||
insert t1 select repeat(seq, 1000) from seq_31_to_40;
|
||||
insert t2 select repeat(seq, 1000) from seq_31_to_40;
|
||||
commit;
|
||||
drop table t1;
|
||||
|
||||
disconnect con2;
|
||||
connection default;
|
||||
|
||||
flush binary logs;
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
set global binlog_cache_size=default;
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 | $MYSQL;
|
||||
|
||||
select left(a, 10) from t1;
|
||||
select left(a, 10) from t2;
|
||||
drop table t1, t2;
|
||||
|
@ -127,5 +127,198 @@ t1#P#p0.ibd
|
||||
t1#P#p1.ibd
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-14611 ALTER TABLE EXCHANGE PARTITION does not work
|
||||
# properly when used with DATA DIRECTORY
|
||||
#
|
||||
SET GLOBAL innodb_file_per_table = ON;
|
||||
CREATE TABLE t1
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB PARTITION BY KEY (myid)
|
||||
(
|
||||
PARTITION p0001 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0002 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0003 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0004 DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB
|
||||
);
|
||||
CREATE TABLE t2
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir';
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`myid` int(11) NOT NULL,
|
||||
`myval` varchar(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`myid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
PARTITION BY KEY (`myid`)
|
||||
(PARTITION `p0001` DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0002` DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0003` DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0004` DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB)
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB PARTITION BY RANGE (myid)
|
||||
(
|
||||
PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB
|
||||
);
|
||||
CREATE TABLE t2
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir';
|
||||
insert into t1 values (1, 'one');
|
||||
insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
|
||||
select * from t1;
|
||||
myid myval
|
||||
1 one
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`myid` int(11) NOT NULL,
|
||||
`myval` varchar(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`myid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
PARTITION BY RANGE (`myid`)
|
||||
(PARTITION `p0001` VALUES LESS THAN (50) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0002` VALUES LESS THAN (150) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0003` VALUES LESS THAN (1050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0004` VALUES LESS THAN (10050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`myid` int(11) NOT NULL,
|
||||
`myval` varchar(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`myid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/mysql-test-data-dir/'
|
||||
select * from t1;
|
||||
myid myval
|
||||
2 two
|
||||
3 threee
|
||||
4 four
|
||||
select * from t2;
|
||||
myid myval
|
||||
1 one
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB PARTITION BY RANGE (myid)
|
||||
(
|
||||
PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB,
|
||||
PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = INNODB
|
||||
);
|
||||
CREATE TABLE t2
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB;
|
||||
insert into t1 values (1, 'one');
|
||||
insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
|
||||
select * from t1;
|
||||
myid myval
|
||||
1 one
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`myid` int(11) NOT NULL,
|
||||
`myval` varchar(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`myid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
PARTITION BY RANGE (`myid`)
|
||||
(PARTITION `p0001` VALUES LESS THAN (50) ENGINE = InnoDB,
|
||||
PARTITION `p0002` VALUES LESS THAN (150) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0003` VALUES LESS THAN (1050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0004` VALUES LESS THAN (10050) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-data-dir' ENGINE = InnoDB)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`myid` int(11) NOT NULL,
|
||||
`myval` varchar(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`myid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/mysql-test-data-dir/'
|
||||
select * from t1;
|
||||
myid myval
|
||||
2 two
|
||||
3 threee
|
||||
4 four
|
||||
select * from t2;
|
||||
myid myval
|
||||
1 one
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB PARTITION BY RANGE (myid)
|
||||
(
|
||||
PARTITION p0001 VALUES LESS THAN (50) ENGINE = INNODB,
|
||||
PARTITION p0002 VALUES LESS THAN (150) ENGINE = INNODB,
|
||||
PARTITION p0003 VALUES LESS THAN (1050) ENGINE = INNODB,
|
||||
PARTITION p0004 VALUES LESS THAN (10050) ENGINE = INNODB
|
||||
);
|
||||
CREATE TABLE t2
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir';
|
||||
insert into t1 values (1, 'one');
|
||||
insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
|
||||
select * from t1;
|
||||
myid myval
|
||||
1 one
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`myid` int(11) NOT NULL,
|
||||
`myval` varchar(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`myid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
PARTITION BY RANGE (`myid`)
|
||||
(PARTITION `p0001` VALUES LESS THAN (50) DATA DIRECTORY = 'MYSQLTEST_VARDIR/mysql-test-idx-dir' ENGINE = InnoDB,
|
||||
PARTITION `p0002` VALUES LESS THAN (150) ENGINE = InnoDB,
|
||||
PARTITION `p0003` VALUES LESS THAN (1050) ENGINE = InnoDB,
|
||||
PARTITION `p0004` VALUES LESS THAN (10050) ENGINE = InnoDB)
|
||||
SHOW CREATE TABLE t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`myid` int(11) NOT NULL,
|
||||
`myval` varchar(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`myid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
select * from t1;
|
||||
myid myval
|
||||
2 two
|
||||
3 threee
|
||||
4 four
|
||||
select * from t2;
|
||||
myid myval
|
||||
1 one
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Cleanup
|
||||
#
|
||||
|
@ -147,6 +147,147 @@ SHOW CREATE TABLE t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-14611 ALTER TABLE EXCHANGE PARTITION does not work
|
||||
--echo # properly when used with DATA DIRECTORY
|
||||
--echo #
|
||||
let $data_dir_path= $MYSQLTEST_VARDIR/mysql-test-data-dir;
|
||||
let $alt_data_dir_path= $MYSQLTEST_VARDIR/mysql-test-idx-dir;
|
||||
SET GLOBAL innodb_file_per_table = ON;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval CREATE TABLE t1
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB PARTITION BY KEY (myid)
|
||||
(
|
||||
PARTITION p0001 DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0002 DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0003 DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0004 DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB
|
||||
);
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval CREATE TABLE t2
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB DATA DIRECTORY = '$data_dir_path';
|
||||
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1, t2;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval CREATE TABLE t1
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB PARTITION BY RANGE (myid)
|
||||
(
|
||||
PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB
|
||||
);
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval CREATE TABLE t2
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB DATA DIRECTORY = '$alt_data_dir_path';
|
||||
|
||||
insert into t1 values (1, 'one');
|
||||
insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
|
||||
|
||||
select * from t1;
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
SHOW CREATE TABLE t1;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
SHOW CREATE TABLE t2;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval CREATE TABLE t1
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB PARTITION BY RANGE (myid)
|
||||
(
|
||||
PARTITION p0001 VALUES LESS THAN (50) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0002 VALUES LESS THAN (150) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0003 VALUES LESS THAN (1050) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB,
|
||||
PARTITION p0004 VALUES LESS THAN (10050) DATA DIRECTORY = '$data_dir_path' ENGINE = INNODB
|
||||
);
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval CREATE TABLE t2
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB;
|
||||
|
||||
insert into t1 values (1, 'one');
|
||||
insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
|
||||
|
||||
select * from t1;
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
SHOW CREATE TABLE t1;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
SHOW CREATE TABLE t2;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval CREATE TABLE t1
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB PARTITION BY RANGE (myid)
|
||||
(
|
||||
PARTITION p0001 VALUES LESS THAN (50) ENGINE = INNODB,
|
||||
PARTITION p0002 VALUES LESS THAN (150) ENGINE = INNODB,
|
||||
PARTITION p0003 VALUES LESS THAN (1050) ENGINE = INNODB,
|
||||
PARTITION p0004 VALUES LESS THAN (10050) ENGINE = INNODB
|
||||
);
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
eval CREATE TABLE t2
|
||||
(
|
||||
myid INT(11) NOT NULL,
|
||||
myval VARCHAR(10),
|
||||
PRIMARY KEY (myid)
|
||||
) ENGINE=INNODB DATA DIRECTORY = '$alt_data_dir_path';
|
||||
|
||||
insert into t1 values (1, 'one');
|
||||
insert into t2 values (2, 'two'), (3, 'threee'), (4, 'four');
|
||||
|
||||
select * from t1;
|
||||
ALTER TABLE t1 EXCHANGE PARTITION p0001 WITH TABLE t2;
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
SHOW CREATE TABLE t1;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
SHOW CREATE TABLE t2;
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
DROP TABLE t1, t2;
|
||||
--echo #
|
||||
--echo # Cleanup
|
||||
--echo #
|
||||
@ -160,5 +301,3 @@ EVAL SET GLOBAL innodb_file_per_table=$innodb_file_per_table_orig;
|
||||
EVAL SET SESSION innodb_strict_mode=$innodb_strict_mode_orig;
|
||||
--enable_query_log
|
||||
|
||||
|
||||
|
||||
|
@ -1236,7 +1236,7 @@
|
||||
VARIABLE_NAME INNODB_VERSION
|
||||
SESSION_VALUE NULL
|
||||
-GLOBAL_VALUE 5.6.37
|
||||
+GLOBAL_VALUE 5.6.36-83.0
|
||||
+GLOBAL_VALUE 5.6.38-83.0
|
||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||
DEFAULT_VALUE NULL
|
||||
VARIABLE_SCOPE GLOBAL
|
||||
|
@ -676,7 +676,7 @@
|
||||
VARIABLE_NAME INNODB_VERSION
|
||||
SESSION_VALUE NULL
|
||||
-GLOBAL_VALUE 5.6.37
|
||||
+GLOBAL_VALUE 5.6.36-83.0
|
||||
+GLOBAL_VALUE 5.6.38-83.0
|
||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
||||
DEFAULT_VALUE NULL
|
||||
VARIABLE_SCOPE GLOBAL
|
||||
|
@ -172,6 +172,29 @@ eval $query;
|
||||
DROP TABLE t1,t2,t3;
|
||||
SET TIMESTAMP=0; # back to current time
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15262 Wrong results for SELECT..WHERE non_indexed_datetime_column=indexed_time_column
|
||||
--echo #
|
||||
|
||||
SET TIMESTAMP=UNIX_TIMESTAMP('2012-01-31 10:14:35');
|
||||
CREATE TABLE t1 (col_time_key TIME, KEY(col_time_key));
|
||||
CREATE TABLE t2 (col_datetime_key DATETIME);
|
||||
INSERT INTO t1 VALUES ('-760:00:00'),('760:00:00');
|
||||
INSERT INTO t1 VALUES ('-770:00:00'),('770:00:00');
|
||||
INSERT INTO t2 SELECT * FROM t1;
|
||||
SELECT * FROM t2 STRAIGHT_JOIN t1 IGNORE INDEX(col_time_key) WHERE col_time_key = col_datetime_key;
|
||||
SELECT * FROM t2 STRAIGHT_JOIN t1 FORCE INDEX (col_time_key) WHERE col_time_key = col_datetime_key;
|
||||
INSERT INTO t1 VALUES ('-838:59:59'),('838:59:59');
|
||||
INSERT INTO t2 VALUES (DATE_ADD(CURRENT_DATE, INTERVAL '-838:59:59' HOUR_SECOND));
|
||||
INSERT INTO t2 VALUES (DATE_ADD(CURRENT_DATE, INTERVAL '838:59:59' HOUR_SECOND));
|
||||
INSERT INTO t2 VALUES (DATE_ADD(CURRENT_DATE, INTERVAL '-839:00:00' HOUR_SECOND));
|
||||
INSERT INTO t2 VALUES (DATE_ADD(CURRENT_DATE, INTERVAL '839:00:00' HOUR_SECOND));
|
||||
SELECT * FROM t2 STRAIGHT_JOIN t1 IGNORE INDEX(col_time_key) WHERE col_time_key = col_datetime_key;
|
||||
SELECT * FROM t2 STRAIGHT_JOIN t1 FORCE INDEX (col_time_key) WHERE col_time_key = col_datetime_key;
|
||||
DROP TABLE t1, t2;
|
||||
SET TIMESTAMP=DEFAULT;
|
||||
|
||||
#
|
||||
# End of 10.0 tests
|
||||
#
|
||||
|
@ -508,7 +508,7 @@ my_bool reinit_io_cache(IO_CACHE *info, enum cache_type type,
|
||||
info->read_end= info->buffer;
|
||||
_my_b_encr_read(info, 0, 0); /* prefill the buffer */
|
||||
info->write_pos= info->read_pos;
|
||||
info->pos_in_file+= info->buffer_length;
|
||||
info->seek_not_done=1;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -5811,6 +5811,13 @@ static void calc_datetime_days_diff(MYSQL_TIME *ltime, long days)
|
||||
ltime->second) * 1000000LL +
|
||||
ltime->second_part);
|
||||
unpack_time(timediff, ltime);
|
||||
/*
|
||||
unpack_time() broke down hours into ltime members hour,day,month.
|
||||
Mix them back to ltime->hour using the same factors
|
||||
that pack_time()/unpack_time() use (i.e. 32 for month).
|
||||
*/
|
||||
ltime->hour+= (ltime->month * 32 + ltime->day) * 24;
|
||||
ltime->month= ltime->day= 0;
|
||||
}
|
||||
ltime->time_type= MYSQL_TIMESTAMP_TIME;
|
||||
}
|
||||
|
@ -145,9 +145,10 @@ static int my_b_encr_write(IO_CACHE *info, const uchar *Buffer, size_t Count)
|
||||
|
||||
if (info->seek_not_done)
|
||||
{
|
||||
DBUG_ASSERT(info->pos_in_file == 0);
|
||||
DBUG_ASSERT(info->pos_in_file % info->buffer_length == 0);
|
||||
my_off_t wpos= info->pos_in_file / info->buffer_length * crypt_data->block_length;
|
||||
|
||||
if ((mysql_file_seek(info->file, 0, MY_SEEK_SET, MYF(0)) == MY_FILEPOS_ERROR))
|
||||
if ((mysql_file_seek(info->file, wpos, MY_SEEK_SET, MYF(0)) == MY_FILEPOS_ERROR))
|
||||
{
|
||||
info->error= -1;
|
||||
DBUG_RETURN(1);
|
||||
|
@ -4603,6 +4603,8 @@ evict_from_pool:
|
||||
buf_block_unfix(fix_block);
|
||||
buf_pool_mutex_exit(buf_pool);
|
||||
rw_lock_x_unlock(&fix_block->lock);
|
||||
|
||||
*err = DB_PAGE_CORRUPTED;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
@ -4655,6 +4655,8 @@ end:
|
||||
DICT_ERR_IGNORE_NONE);
|
||||
fk_tables.pop_front();
|
||||
}
|
||||
|
||||
table->data_dir_path= NULL;
|
||||
}
|
||||
|
||||
funct_exit:
|
||||
|
@ -3372,6 +3372,8 @@ evict_from_pool:
|
||||
mutex_enter(&buf_pool->LRU_list_mutex);
|
||||
buf_block_unfix(fix_block);
|
||||
mutex_exit(&buf_pool->LRU_list_mutex);
|
||||
|
||||
*err = DB_PAGE_CORRUPTED;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ Created 1/20/1994 Heikki Tuuri
|
||||
|
||||
#define INNODB_VERSION_MAJOR 5
|
||||
#define INNODB_VERSION_MINOR 6
|
||||
#define INNODB_VERSION_BUGFIX 36
|
||||
#define INNODB_VERSION_BUGFIX 38
|
||||
|
||||
#ifndef PERCONA_INNODB_VERSION
|
||||
#define PERCONA_INNODB_VERSION 83.0
|
||||
|
@ -5372,6 +5372,7 @@ end:
|
||||
trx_rollback_to_savepoint(trx, NULL);
|
||||
trx->error_state = DB_SUCCESS;
|
||||
}
|
||||
table->data_dir_path= NULL;
|
||||
}
|
||||
|
||||
funct_exit:
|
||||
|
Reference in New Issue
Block a user