summaryrefslogtreecommitdiff
path: root/storage/maria/maria_def.h
diff options
context:
space:
mode:
authorMichael Widenius <monty@askmonty.org>2010-07-30 10:45:27 +0300
committerMichael Widenius <monty@askmonty.org>2010-07-30 10:45:27 +0300
commitd2f8b7d04503478ab6b6998194a2070891f0c2bb (patch)
tree14754871eed2adea6fdfcc5c3971dabc3ac53093 /storage/maria/maria_def.h
parentcf86a5ae5284c744bc4cc727073387d0799da5c2 (diff)
downloadmariadb-git-d2f8b7d04503478ab6b6998194a2070891f0c2bb.tar.gz
Fix for LP#602604: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery
More DBUG_PRINT (to simplify future debugging) Aria: Added STATE_IN_REPAIR, which is set on start of repair. This allows us to see if 'crashed' flag was set intentionally. Aria: Some trivial speedup optimization Aria: Better warning if table was marked crashed by unfinnished repair mysql-test/lib/v1/mysql-test-run.pl: Fix so one can run RQG mysql-test/suite/maria/r/maria-recovery2.result: Update for new error message. mysys/stacktrace.c: Fixed compiler warning storage/maria/ha_maria.cc: More DBUG_PRINT Added STATE_IN_REPAIR flag, which is set on start of repair. This allows us to see if 'crashed' flag was set intentionally. Don't log query for dropping temporary table. storage/maria/ha_maria.h: Added prototype for drop_table() storage/maria/ma_blockrec.c: More DBUG_PRINT Make read_long_data() inline for most cases. (Trivial speedup optimization) storage/maria/ma_check.c: Better warning if table was marked crashed by unfinnished repair storage/maria/ma_open.c: More DBUG_PRINT storage/maria/ma_recovery.c: Give warning if found crashed table. Changed warning for tables that can't be opened. storage/maria/ma_recovery_util.c: Write warnings to DBUG file storage/maria/maria_chk.c: Added STATE_IN_REPAIR flag, which is set on start of repair. This allows us to see if 'crashed' flag was set intentionally. storage/maria/maria_def.h: Added maria_mark_in_repair(x) storage/maria/maria_read_log.c: Added option: --character-sets-dir storage/maria/trnman.c: By default set min_read_from to max value. This allows us to remove TRN:s from rows during recovery to get more space. This fixes bug LP#602604: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery
Diffstat (limited to 'storage/maria/maria_def.h')
-rw-r--r--storage/maria/maria_def.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/storage/maria/maria_def.h b/storage/maria/maria_def.h
index 868885c961b..e9980cf9695 100644
--- a/storage/maria/maria_def.h
+++ b/storage/maria/maria_def.h
@@ -611,6 +611,7 @@ struct st_maria_handler
#define STATE_NOT_ZEROFILLED 128
#define STATE_NOT_MOVABLE 256
#define STATE_MOVED 512 /* set if base->uuid != maria_uuid */
+#define STATE_IN_REPAIR 1024 /* We are running repair on table */
/* options to maria_read_cache */
@@ -666,11 +667,17 @@ struct st_maria_handler
#define maria_mark_crashed_on_repair(x) do{(x)->s->state.changed|= \
STATE_CRASHED|STATE_CRASHED_ON_REPAIR; \
(x)->update|= HA_STATE_CHANGED; \
- DBUG_PRINT("error", \
- ("Marked table crashed")); \
+ DBUG_PRINT("error", ("Marked table crashed on repair")); \
+ }while(0)
+#define maria_mark_in_repair(x) do{(x)->s->state.changed|= \
+ STATE_CRASHED | STATE_IN_REPAIR; \
+ (x)->update|= HA_STATE_CHANGED; \
+ DBUG_PRINT("error", ("Marked table crashed for repair")); \
}while(0)
#define maria_is_crashed(x) ((x)->s->state.changed & STATE_CRASHED)
#define maria_is_crashed_on_repair(x) ((x)->s->state.changed & STATE_CRASHED_ON_REPAIR)
+#define maria_in_repair(x) ((x)->s->state.changed & STATE_IN_REPAIR)
+
#ifdef EXTRA_DEBUG
/**
Brings additional information in certain debug builds and in standalone