diff options
author | unknown <monty@mysql.com/narttu.mysql.fi> | 2007-12-31 11:55:46 +0200 |
---|---|---|
committer | unknown <monty@mysql.com/narttu.mysql.fi> | 2007-12-31 11:55:46 +0200 |
commit | 6cad02044072403c652e2da9a3cc0dfd9713f1e6 (patch) | |
tree | 2c526d1754deff4582c354f19712550e132f5d37 /storage/maria/ma_update.c | |
parent | 1e9ee8abbd348f3bf1f4342b4db69a025a289523 (diff) | |
download | mariadb-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.c | 1 |
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 |