mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
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.
This commit is contained in:
@@ -1,22 +1 @@
|
|||||||
call mtr.add_suppression("InnoDB: File ./test/t1*");
|
1
|
||||||
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,6 +1,11 @@
|
|||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
--source include/have_partition.inc
|
--source include/have_partition.inc
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
--disable_result_log
|
||||||
|
--disable_warnings
|
||||||
|
|
||||||
|
|
||||||
# Ignore OS errors
|
# Ignore OS errors
|
||||||
call mtr.add_suppression("InnoDB: File ./test/t1*");
|
call mtr.add_suppression("InnoDB: File ./test/t1*");
|
||||||
call mtr.add_suppression("nnoDB: Error number*");
|
call mtr.add_suppression("nnoDB: Error number*");
|
||||||
@@ -23,8 +28,9 @@ drop table t1;
|
|||||||
|
|
||||||
DROP DATABASE test;CREATE DATABASE test;USE test;
|
DROP DATABASE test;CREATE DATABASE test;USE test;
|
||||||
SET @@session.storage_engine=MYISAM;
|
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));
|
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));
|
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;
|
ALTER TABLE t1 ENGINE=InnoDB;
|
||||||
|
|
||||||
@@ -32,3 +38,10 @@ drop table t1;
|
|||||||
|
|
||||||
let $datadir=`select @@datadir`;
|
let $datadir=`select @@datadir`;
|
||||||
--remove_file $datadir/test/db.opt
|
--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.page_compression_saved.add((len - write_size));
|
||||||
srv_stats.pages_page_compressed.inc();
|
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;
|
*out_len = write_size;
|
||||||
|
|
||||||
return(out_buf);
|
return(out_buf);
|
||||||
|
@@ -474,6 +474,12 @@ fil_compress_page(
|
|||||||
srv_stats.page_compression_saved.add((len - write_size));
|
srv_stats.page_compression_saved.add((len - write_size));
|
||||||
srv_stats.pages_page_compressed.inc();
|
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;
|
*out_len = write_size;
|
||||||
|
|
||||||
return(out_buf);
|
return(out_buf);
|
||||||
|
Reference in New Issue
Block a user