summaryrefslogtreecommitdiff
path: root/storage/maria/ma_update.c
diff options
context:
space:
mode:
authorunknown <monty@mysql.com/narttu.mysql.fi>2007-12-31 11:55:46 +0200
committerunknown <monty@mysql.com/narttu.mysql.fi>2007-12-31 11:55:46 +0200
commit6cad02044072403c652e2da9a3cc0dfd9713f1e6 (patch)
tree2c526d1754deff4582c354f19712550e132f5d37 /storage/maria/ma_update.c
parent1e9ee8abbd348f3bf1f4342b4db69a025a289523 (diff)
downloadmariadb-git-6cad02044072403c652e2da9a3cc0dfd9713f1e6.tar.gz
Added maria_zerofill()
This is used to bzero all not used parts of the index pages and compact and bzero the not used parts of the data pages of block-record type Added --zerofill (-z) option to maria_chk (Mostly code from Jani) Added now table states ZEROFILLED and MOVEABLE Set state.changed with new states when things changes include/maria.h: Added maria_zerofill include/myisamchk.h: Added option for zerofill Extend testflag to be 64 to allow for more flags mysql-test/r/create.result: Updated results after merge mysql-test/r/maria.result: Updated results after merge mysys/my_getopt.c: Removed not used variable sql/sql_show.cc: Fixed wrong page type storage/maria/ma_blockrec.c: Renamed compact_page() to ma_compact_block_page() and made it global Always zerofill half filled blob pages Set share.state.changed on REDO storage/maria/ma_blockrec.h: Added _ma_compact_block_page() storage/maria/ma_check.c: Added maria_zerofill() This is used to bzero all not used parts of the index pages and compact and bzero the not used parts of the data pages of block-record type This gives the following benefits: - Table is smaller if compressed - All LSN are removed for transactinal tables and this makes them movable between systems Dont set table states of we are using --quick Changed log entry for repair to use 8 bytes for flag storage/maria/ma_delete.c: Simplify code Update state.changed storage/maria/ma_key_recover.c: Update state.changed storage/maria/ma_locking.c: Set uuid for file on first change if it's not set (table was cleared with zerofill) storage/maria/ma_loghandler.c: Updated log entry for REDO_REPAIR_TABLE storage/maria/ma_recovery.c: Updated log entry for REDO_REPAIR_TABLE (flag is now 8 bytes) Set new bits in state.changed storage/maria/ma_test_all.sh: Nicer output storage/maria/ma_test_recovery.expected: Updated results (now states flags are visible) storage/maria/ma_update.c: Update state.changed storage/maria/ma_write.c: Simplify code Set state.changed storage/maria/maria_chk.c: Added option --zerofill Added printing of states for MOVABLE and ZEROFILLED MYD -> MAD MYI -> MAI storage/maria/maria_def.h: Added states STATE_NOT_MOVABLE and STATE_NOT_ZEROFILLED Added prototype for new functions storage/maria/unittest/ma_test_all-t: More tests, including tests for zerofill Removed some not needed 'print' statements storage/maria/unittest/ma_test_loghandler_multithread-t.c: Smaller buffer to not trash devlopment machines totally
Diffstat (limited to 'storage/maria/ma_update.c')
-rw-r--r--storage/maria/ma_update.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/storage/maria/ma_update.c b/storage/maria/ma_update.c
index a1c003ea069..c3a0447d7d1 100644
--- a/storage/maria/ma_update.c
+++ b/storage/maria/ma_update.c
@@ -172,6 +172,7 @@ int maria_update(register MARIA_HA *info, const uchar *oldrec, uchar *newrec)
it
*/
info->update= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED | key_changed);
+ share->state.changed|= STATE_NOT_MOVABLE | STATE_NOT_ZEROFILLED;
/*
Every Maria function that updates Maria table must end with