#At file:///home/mysql_src/bzrrepos/mysql-6.0-maria/ based on revid:guilhem@stripped
2925 Guilhem Bichot 2008-11-24 [merge]
Merge of 5.1-maria into 6.0-maria
modified:
mysql-test/lib/mtr_report.pl
mysql-test/suite/parts/t/partition_alter2_1_maria.test
mysql-test/suite/parts/t/partition_alter2_2_maria.test
storage/maria/ma_pagecache.c
storage/maria/ma_recovery.c
storage/maria/maria_def.h
=== modified file 'mysql-test/lib/mtr_report.pl'
--- a/mysql-test/lib/mtr_report.pl 2008-11-22 15:24:06 +0000
+++ b/mysql-test/lib/mtr_report.pl 2008-11-24 18:40:52 +0000
@@ -477,12 +477,12 @@ sub mtr_report_stats ($) {
# maria-recovery.test has warning about missing log file
/File '.*maria_log.000.*' not found \(Errcode: 2\)/ or
# and about marked-corrupted table
- /Table '.\/mysqltest\/t_corrupted1' is crashed, skipping it. Please repair it with maria_chk -r/ or
+ /Table '..mysqltest.t_corrupted1' is crashed, skipping it. Please repair it with maria_chk -r/ or
# maria-recover.test corrupts tables on purpose
- /Checking table: '.\/mysqltest\/t_corrupted2'/ or
- /Recovering table: '.\/mysqltest\/t_corrupted2'/ or
- /Table '.\/mysqltest\/t_corrupted2' is marked as crashed and should be repaired/ or
- /Incorrect key file for table '.\/mysqltest\/t_corrupted2.MAI'; try to repair it/ or
+ /Checking table: '..mysqltest.t_corrupted2'/ or
+ /Recovering table: '..mysqltest.t_corrupted2'/ or
+ /Table '..mysqltest.t_corrupted2' is marked as crashed and should be repaired/ or
+ /Incorrect key file for table '..mysqltest.t_corrupted2.MAI'; try to repair it/ or
# Bug#35161, test of auto repair --myisam-recover
/able.*_will_crash/ or
/Got an error from unknown thread, ha_myisam.cc:/ or
=== modified file 'mysql-test/suite/parts/t/partition_alter2_1_maria.test'
--- a/mysql-test/suite/parts/t/partition_alter2_1_maria.test 2008-11-21 14:21:50 +0000
+++ b/mysql-test/suite/parts/t/partition_alter2_1_maria.test 2008-11-24 14:53:10 +0000
@@ -43,6 +43,9 @@ let $more_pk_ui_tests= 0;
# The server must support partitioning.
--source include/have_partition.inc
+# Lots of ALTER TABLE, slow in Maria (disk syncs), takes ~15 minutes
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
=== modified file 'mysql-test/suite/parts/t/partition_alter2_2_maria.test'
--- a/mysql-test/suite/parts/t/partition_alter2_2_maria.test 2008-11-21 14:21:50 +0000
+++ b/mysql-test/suite/parts/t/partition_alter2_2_maria.test 2008-11-24 14:53:10 +0000
@@ -43,6 +43,9 @@ let $more_pk_ui_tests= 0;
# The server must support partitioning.
--source include/have_partition.inc
+# Lots of ALTER TABLE, slow in Maria (disk syncs), takes ~15 minutes
+--source include/big_test.inc
+
#------------------------------------------------------------------------------#
# Engine specific settings and requirements
=== modified file 'storage/maria/ma_pagecache.c'
--- a/storage/maria/ma_pagecache.c 2008-11-20 19:18:59 +0000
+++ b/storage/maria/ma_pagecache.c 2008-11-24 18:40:52 +0000
@@ -99,7 +99,7 @@
DBUG_PRINT("info", \
("block: 0x%lx fd: %lu page: %lu s: %0x hshL: " \
" 0x%lx req: %u/%u wrlocks: %u rdlocks %u " \
- "rdlocks_q: %u pins: %u status: %u", \
+ "rdlocks_q: %u pins: %u status: %u type: %s", \
(ulong)(B), \
(ulong)((B)->hash_link ? \
(B)->hash_link->file.file : \
@@ -114,7 +114,8 @@
(B)->hash_link->requests : \
0), \
block->wlocks, block->rlocks, block->rlocks_queue, \
- (uint)(B)->pins, (uint)(B)->status))
+ (uint)(B)->pins, (uint)(B)->status, \
+ page_cache_page_type_str[(B)->type]))
/* TODO: put it to my_static.c */
my_bool my_disable_flush_pagecache_blocks= 0;
=== modified file 'storage/maria/ma_recovery.c'
--- a/storage/maria/ma_recovery.c 2008-10-20 13:03:34 +0000
+++ b/storage/maria/ma_recovery.c 2008-11-24 18:40:52 +0000
@@ -171,7 +171,8 @@ void maria_recover_error_handler_hook(ui
(*save_error_handler_hook)(error, str, flags);
}
-#define ALERT_USER() DBUG_ASSERT(0)
+/* Define this if you want gdb to break in some interesting situations */
+#define ALERT_USER()
static void print_preamble()
{
@@ -3243,6 +3244,7 @@ void _ma_tmp_disable_logging_for_table(M
*/
share->state.common= *info->state;
info->state= &share->state.common;
+ info->switched_transactional= TRUE;
/*
Some code in ma_blockrec.c assumes a trn even if !now_transactional but in
@@ -3273,8 +3275,10 @@ my_bool _ma_reenable_logging_for_table(M
MARIA_SHARE *share= info->s;
DBUG_ENTER("_ma_reenable_logging_for_table");
- if (share->now_transactional == share->base.born_transactional)
+ if (share->now_transactional == share->base.born_transactional ||
+ !info->switched_transactional)
DBUG_RETURN(0);
+ info->switched_transactional= FALSE;
if ((share->now_transactional= share->base.born_transactional))
{
=== modified file 'storage/maria/maria_def.h'
--- a/storage/maria/maria_def.h 2008-11-04 10:54:04 +0000
+++ b/storage/maria/maria_def.h 2008-11-24 07:48:21 +0000
@@ -548,6 +548,8 @@ struct st_maria_handler
/* If info->keyread_buff has to be re-read for rnext */
my_bool keyread_buff_used;
my_bool once_flags; /* For MARIA_MRG */
+ /* For bulk insert enable/disable transactions control */
+ my_bool switched_transactional;
#ifdef __WIN__
my_bool owned_by_merge; /* This Maria table is part of a merge union */
#endif
| Thread |
|---|
| • bzr commit into mysql-6.0 branch (guilhem:2925) | Guilhem Bichot | 24 Nov |