Commit 0fe39b68 authored by Jan Lindström's avatar Jan Lindström

MDEV-7262: innodb.innodb-mdev7046 and innodb-page_compression* fail on BuildBot

If persistent trim is not used some OS require that we write full page.
parent 8360e1a5
call mtr.add_suppression("InnoDB: File ./test/t1*");
call mtr.add_suppression("nnoDB: Error number*");
USE test;
create table t1(f1 INT,f2 INT,f3 CHAR (10),primary key(f1,f2)) partition by range(f1) subpartition by hash(f2) subpartitions 2 (partition p1 values less than (0),partition p2 values less than (2),partition p3 values less than (2147483647));
RENAME TABLE t1 TO `t2_new..............................................end`;
ERROR HY000: Error on rename of 't2_new' (Errcode: 36 "File name too long")
alter table t1 engine=innodb;
RENAME TABLE t1 TO `t2_new..............................................end`;
ERROR HY000: Error on rename of 't2_new' (errno: -1 "Internal error < 0 (Not system error)")
show warnings;
Level Code Message
Error 1025 Error on rename of 't2_new' (errno: -1 "Internal error < 0 (Not system error)")
drop table t1;
DROP DATABASE test;
CREATE DATABASE test;
USE test;
SET @@session.storage_engine=MYISAM;
CREATE TABLE t1(id INT,purchased DATE)PARTITION BY RANGE(YEAR(purchased)) SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN MAXVALUE (SUBPARTITION sp0 DATA DIRECTORY='/tmp/not-existing' INDEX DIRECTORY='/tmp/not-existing',SUBPARTITION sp1));
ERROR HY000: Can't create/write to file '/tmp/not-existing/t1#P#p0#SP#sp0.MYI' (Errcode: 2 "No such file or directory")
CREATE TABLE t1(id INT,purchased DATE)PARTITION BY RANGE(YEAR(purchased)) SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN MAXVALUE (SUBPARTITION sp0,SUBPARTITION sp1));
ALTER TABLE t1 ENGINE=InnoDB;
drop table t1;
1
--source include/have_innodb.inc
--source include/have_partition.inc
--disable_query_log
--disable_result_log
--disable_warnings
# Ignore OS errors
call mtr.add_suppression("InnoDB: File ./test/t1*");
call mtr.add_suppression("nnoDB: Error number*");
......@@ -23,8 +28,9 @@ drop table t1;
DROP DATABASE test;CREATE DATABASE test;USE test;
SET @@session.storage_engine=MYISAM;
--error 1
--error 1,0
CREATE TABLE t1(id INT,purchased DATE)PARTITION BY RANGE(YEAR(purchased)) SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN MAXVALUE (SUBPARTITION sp0 DATA DIRECTORY='/tmp/not-existing' INDEX DIRECTORY='/tmp/not-existing',SUBPARTITION sp1));
drop table if exists t1;
CREATE TABLE t1(id INT,purchased DATE)PARTITION BY RANGE(YEAR(purchased)) SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN MAXVALUE (SUBPARTITION sp0,SUBPARTITION sp1));
ALTER TABLE t1 ENGINE=InnoDB;
......@@ -32,3 +38,10 @@ drop table t1;
let $datadir=`select @@datadir`;
--remove_file $datadir/test/db.opt
--enable_query_log
--enable_result_log
--enable_warnings
# make sure that we have at least some ouput to avoid mtr warning
--echo 1
......@@ -477,6 +477,12 @@ fil_compress_page(
srv_stats.page_compression_saved.add((len - write_size));
srv_stats.pages_page_compressed.inc();
/* If we do not persistently trim rest of page, we need to write it
all */
if (!srv_use_trim) {
write_size = len;
}
*out_len = write_size;
return(out_buf);
......
......@@ -474,6 +474,12 @@ fil_compress_page(
srv_stats.page_compression_saved.add((len - write_size));
srv_stats.pages_page_compressed.inc();
/* If we do not persistently trim rest of page, we need to write it
all */
if (!srv_use_trim) {
write_size = len;
}
*out_len = write_size;
return(out_buf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment