Fixes to not trigger end-consistency testing of pagecache.
- Moved end_pagecache() to after maria_close() - Flush page cache before closing files (in maria_pack) Fixed test suite failure for PBXT mysql-test/suite/pbxt/r/select.result: We mask out the 'rows' column because it may differ from run to run mysql-test/suite/pbxt/t/select.test: We mask out the 'rows' column because it may differ from run to run storage/maria/maria_chk.c: Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache. storage/maria/maria_pack.c: Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache. flush page cache before closing files.
This commit is contained in:
parent
657e83cf4d
commit
a585745d4f
@ -3447,14 +3447,12 @@ insert into t2 select A.a, B.a, C.a, C.a from t1 A, t1 B, t1 C;
|
||||
analyze table t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 analyze status OK
|
||||
select 'In next EXPLAIN, B.rows must be exactly 10:' Z;
|
||||
Z
|
||||
In next EXPLAIN, B.rows must be exactly 10:
|
||||
In next EXPLAIN, B.rows must be exactly 10 (when using MyISAM):
|
||||
explain select * from t2 A, t2 B where A.a=5 and A.b=5 and A.C<5
|
||||
and B.a=5 and B.b=A.e and (B.b =1 or B.b = 3 or B.b=5);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE A range PRIMARY PRIMARY 12 NULL 1 Using where
|
||||
1 SIMPLE B ref PRIMARY PRIMARY 8 const,test.A.e 1
|
||||
1 SIMPLE A range PRIMARY PRIMARY 12 NULL # Using where
|
||||
1 SIMPLE B ref PRIMARY PRIMARY 8 const,test.A.e #
|
||||
drop table t1, t2;
|
||||
CREATE TABLE t1 (a int PRIMARY KEY, b int, INDEX(b));
|
||||
INSERT INTO t1 VALUES (1, 3), (9,4), (7,5), (4,5), (6,2),
|
||||
|
@ -2910,8 +2910,10 @@ insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
create table t2 (a int, b int, c int, e int, primary key(a,b,c));
|
||||
insert into t2 select A.a, B.a, C.a, C.a from t1 A, t1 B, t1 C;
|
||||
analyze table t2;
|
||||
select 'In next EXPLAIN, B.rows must be exactly 10:' Z;
|
||||
-- echo In next EXPLAIN, B.rows must be exactly 10 (when using MyISAM):
|
||||
|
||||
# We mask out the 'rows' column because it may differ from run to run
|
||||
--replace_column 9 #
|
||||
explain select * from t2 A, t2 B where A.a=5 and A.b=5 and A.C<5
|
||||
and B.a=5 and B.b=A.e and (B.b =1 or B.b = 3 or B.b=5);
|
||||
drop table t1, t2;
|
||||
|
@ -1339,12 +1339,12 @@ static int maria_chk(HA_CHECK *param, char *filename)
|
||||
maria_lock_database(info, F_UNLCK);
|
||||
|
||||
end2:
|
||||
end_pagecache(maria_pagecache, 1);
|
||||
if (maria_close(info))
|
||||
{
|
||||
_ma_check_print_error(param, default_close_errmsg, my_errno, filename);
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
end_pagecache(maria_pagecache, 1);
|
||||
if (error == 0)
|
||||
{
|
||||
if (param->out_flag & O_NEW_DATA)
|
||||
|
@ -690,6 +690,8 @@ static int compress(PACK_MRG_INFO *mrg,char *result_table)
|
||||
error|=my_close(new_file,MYF(MY_WME));
|
||||
if (!result_table)
|
||||
{
|
||||
(void) flush_pagecache_blocks(isam_file->s->pagecache, &isam_file->dfile,
|
||||
FLUSH_RELEASE);
|
||||
error|=my_close(isam_file->dfile.file, MYF(MY_WME));
|
||||
isam_file->dfile.file= -1; /* Tell maria_close file is closed */
|
||||
isam_file->s->bitmap.file.file= -1;
|
||||
@ -763,13 +765,13 @@ static int compress(PACK_MRG_INFO *mrg,char *result_table)
|
||||
DBUG_RETURN(0);
|
||||
|
||||
err:
|
||||
end_pagecache(maria_pagecache, 1);
|
||||
free_counts_and_tree_and_queue(huff_trees,trees,huff_counts,fields);
|
||||
if (new_file >= 0)
|
||||
VOID(my_close(new_file,MYF(0)));
|
||||
if (join_maria_file >= 0)
|
||||
VOID(my_close(join_maria_file,MYF(0)));
|
||||
mrg_close(mrg);
|
||||
end_pagecache(maria_pagecache, 1);
|
||||
VOID(fprintf(stderr, "Aborted: %s is not compressed\n", org_name));
|
||||
DBUG_RETURN(-1);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user