Commit 42746a44 authored by Michael Widenius's avatar Michael Widenius

Merge with 5.1-release

parents 26eb30d0 a585745d
...@@ -3447,14 +3447,12 @@ insert into t2 select A.a, B.a, C.a, C.a from t1 A, t1 B, t1 C; ...@@ -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; analyze table t2;
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t2 analyze status OK test.t2 analyze status OK
select 'In next EXPLAIN, B.rows must be exactly 10:' Z; In next EXPLAIN, B.rows must be exactly 10 (when using MyISAM):
Z
In next EXPLAIN, B.rows must be exactly 10:
explain select * from t2 A, t2 B where A.a=5 and A.b=5 and A.C<5 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); 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 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 A range PRIMARY PRIMARY 12 NULL # Using where
1 SIMPLE B ref PRIMARY PRIMARY 8 const,test.A.e 1 1 SIMPLE B ref PRIMARY PRIMARY 8 const,test.A.e #
drop table t1, t2; drop table t1, t2;
CREATE TABLE t1 (a int PRIMARY KEY, b int, INDEX(b)); 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), 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); ...@@ -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)); 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; insert into t2 select A.a, B.a, C.a, C.a from t1 A, t1 B, t1 C;
analyze table t2; 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 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); 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; drop table t1, t2;
......
...@@ -2466,14 +2466,6 @@ my_bool translog_prev_buffer_flush_wait(struct st_translog_buffer *buffer) ...@@ -2466,14 +2466,6 @@ my_bool translog_prev_buffer_flush_wait(struct st_translog_buffer *buffer)
LSN_IN_PARTS(buffer->prev_sent_to_disk), LSN_IN_PARTS(buffer->prev_sent_to_disk),
LSN_IN_PARTS(buffer->prev_buffer_offset))); LSN_IN_PARTS(buffer->prev_buffer_offset)));
translog_buffer_lock_assert_owner(buffer); translog_buffer_lock_assert_owner(buffer);
/*
if prev_sent_to_disk == LSN_IMPOSSIBLE then
prev_buffer_offset should be LSN_IMPOSSIBLE
because it means that this buffer was never used
*/
DBUG_ASSERT((buffer->prev_sent_to_disk == LSN_IMPOSSIBLE &&
buffer->prev_buffer_offset == LSN_IMPOSSIBLE) ||
buffer->prev_sent_to_disk != LSN_IMPOSSIBLE);
if (buffer->prev_buffer_offset != buffer->prev_sent_to_disk) if (buffer->prev_buffer_offset != buffer->prev_sent_to_disk)
{ {
do { do {
......
...@@ -1339,12 +1339,12 @@ static int maria_chk(HA_CHECK *param, char *filename) ...@@ -1339,12 +1339,12 @@ static int maria_chk(HA_CHECK *param, char *filename)
maria_lock_database(info, F_UNLCK); maria_lock_database(info, F_UNLCK);
end2: end2:
end_pagecache(maria_pagecache, 1);
if (maria_close(info)) if (maria_close(info))
{ {
_ma_check_print_error(param, default_close_errmsg, my_errno, filename); _ma_check_print_error(param, default_close_errmsg, my_errno, filename);
DBUG_RETURN(1); DBUG_RETURN(1);
} }
end_pagecache(maria_pagecache, 1);
if (error == 0) if (error == 0)
{ {
if (param->out_flag & O_NEW_DATA) if (param->out_flag & O_NEW_DATA)
......
...@@ -690,6 +690,8 @@ static int compress(PACK_MRG_INFO *mrg,char *result_table) ...@@ -690,6 +690,8 @@ static int compress(PACK_MRG_INFO *mrg,char *result_table)
error|=my_close(new_file,MYF(MY_WME)); error|=my_close(new_file,MYF(MY_WME));
if (!result_table) 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)); error|=my_close(isam_file->dfile.file, MYF(MY_WME));
isam_file->dfile.file= -1; /* Tell maria_close file is closed */ isam_file->dfile.file= -1; /* Tell maria_close file is closed */
isam_file->s->bitmap.file.file= -1; isam_file->s->bitmap.file.file= -1;
...@@ -763,13 +765,13 @@ static int compress(PACK_MRG_INFO *mrg,char *result_table) ...@@ -763,13 +765,13 @@ static int compress(PACK_MRG_INFO *mrg,char *result_table)
DBUG_RETURN(0); DBUG_RETURN(0);
err: err:
end_pagecache(maria_pagecache, 1);
free_counts_and_tree_and_queue(huff_trees,trees,huff_counts,fields); free_counts_and_tree_and_queue(huff_trees,trees,huff_counts,fields);
if (new_file >= 0) if (new_file >= 0)
VOID(my_close(new_file,MYF(0))); VOID(my_close(new_file,MYF(0)));
if (join_maria_file >= 0) if (join_maria_file >= 0)
VOID(my_close(join_maria_file,MYF(0))); VOID(my_close(join_maria_file,MYF(0)));
mrg_close(mrg); mrg_close(mrg);
end_pagecache(maria_pagecache, 1);
VOID(fprintf(stderr, "Aborted: %s is not compressed\n", org_name)); VOID(fprintf(stderr, "Aborted: %s is not compressed\n", org_name));
DBUG_RETURN(-1); DBUG_RETURN(-1);
} }
......
...@@ -476,6 +476,7 @@ int main(int argc __attribute__((unused)), ...@@ -476,6 +476,7 @@ int main(int argc __attribute__((unused)),
pthread_mutex_unlock(&LOCK_thread_count); pthread_mutex_unlock(&LOCK_thread_count);
DBUG_PRINT("info", ("thread ended")); DBUG_PRINT("info", ("thread ended"));
flush_pagecache_blocks(&pagecache, &file1, FLUSH_IGNORE_CHANGED);
end_pagecache(&pagecache, 1); end_pagecache(&pagecache, 1);
DBUG_PRINT("info", ("Page cache ended")); DBUG_PRINT("info", ("Page cache ended"));
......
...@@ -341,6 +341,7 @@ int main(int argc __attribute__((unused)), ...@@ -341,6 +341,7 @@ int main(int argc __attribute__((unused)),
pthread_mutex_unlock(&LOCK_thread_count); pthread_mutex_unlock(&LOCK_thread_count);
DBUG_PRINT("info", ("thread ended")); DBUG_PRINT("info", ("thread ended"));
flush_pagecache_blocks(&pagecache, &file1, FLUSH_IGNORE_CHANGED);
end_pagecache(&pagecache, 1); end_pagecache(&pagecache, 1);
DBUG_PRINT("info", ("Page cache ended")); DBUG_PRINT("info", ("Page cache ended"));
......
...@@ -269,11 +269,6 @@ int main(int argc __attribute__((unused)), ...@@ -269,11 +269,6 @@ int main(int argc __attribute__((unused)),
int *param, error; int *param, error;
int rc; int rc;
/* Disabled until Sanja tests */
plan(1);
ok(1, "disabled");
exit(0);
plan(WRITERS + FLUSHERS + plan(WRITERS + FLUSHERS +
ITERATIONS * WRITERS * 3 + FLUSH_ITERATIONS * FLUSHERS ); ITERATIONS * WRITERS * 3 + FLUSH_ITERATIONS * FLUSHERS );
......
...@@ -168,7 +168,7 @@ int main(int argc __attribute__((unused)), char *argv[]) ...@@ -168,7 +168,7 @@ int main(int argc __attribute__((unused)), char *argv[])
PAGECACHE_PIN_LEFT_UNPINNED, PAGECACHE_PIN_LEFT_UNPINNED,
PAGECACHE_WRITE_DELAY, PAGECACHE_WRITE_DELAY,
0, LSN_IMPOSSIBLE); 0, LSN_IMPOSSIBLE);
flush_pagecache_blocks(&pagecache, &file1, FLUSH_FORCE_WRITE); flush_pagecache_blocks(&pagecache, &file1, FLUSH_RELEASE);
} }
my_close(file1.file, MYF(MY_WME)); my_close(file1.file, MYF(MY_WME));
if ((file1.file= my_open(first_translog_file, O_RDONLY, MYF(MY_WME))) < 0) if ((file1.file= my_open(first_translog_file, O_RDONLY, MYF(MY_WME))) < 0)
......
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