diff options
author | unknown <monty@mysql.com/narttu.mysql.fi> | 2007-09-03 12:05:17 +0300 |
---|---|---|
committer | unknown <monty@mysql.com/narttu.mysql.fi> | 2007-09-03 12:05:17 +0300 |
commit | 5183a4b00b0cadf74b9ed5c92734617ec3c9270b (patch) | |
tree | d34a2a57d2e6f1023cb9107320bc8028ed338a4a /storage/maria/ma_locking.c | |
parent | f5a8966ddeecda767ca1f3bb92f748670d837ef6 (diff) | |
download | mariadb-git-5183a4b00b0cadf74b9ed5c92734617ec3c9270b.tar.gz |
Fixed several bugs found by running *.test with maria engine
Renamed HA_EXTRA_PREAPRE_FOR_DELETE to HA_EXTRA_PERPARE_FOR_DROP
Added HA_EXTRA_PREPARE_FOR_RENAME (as we in the code before used HA_EXTRA_PREPARE_FOR_DELETE also for renames which confused things)
Allow multiple write locks for same page by same file handle
Don't write table state if table is not changed
include/my_base.h:
Renamed HA_EXTRA_PREAPRE_FOR_DELETE to HA_EXTRA_PERPARE_FOR_DROP
Added HA_EXTRA_PREPARE_FOR_RENAME (as we in the code before used HA_EXTRA_PREPARE_FOR_DELETE also for renames which confused things)
mysql-test/r/maria.result:
More tests of things that failed in other tests
mysql-test/t/maria.test:
More tests of things that failed in other tests
sql/ha_partition.cc:
HA_EXTRA_PREPARE_FOR_DELETE -> HA_EXTRA_PREPARE_FOR_DROP
Use HA_EXTRA_PREPARE_FOR_RENAME for renames
sql/ha_partition.h:
HA_EXTRA_PREPARE_FOR_DELETE -> HA_EXTRA_PREPARE_FOR_DROP
Use HA_EXTRA_PREPARE_FOR_RENAME for renames
sql/lock.cc:
Fixed comment
sql/sql_table.cc:
Fixed wrong usage of HA_EXTRA_PREAPRE_FOR_DELETE
storage/maria/ha_maria.cc:
Added missing _ma_renable_logging_for_table() (When using with ALTER TABLE + repair index)
Enabled fast generation of index
storage/maria/ma_bitmap.c:
Fixed bug when resetting full pages when page was a tail page
storage/maria/ma_blockrec.c:
Fixed several bugs found by running *.test with maria engine:
During update we keep old changed pages locked with a write lock to be able to reuse them.
- Fixed bug with allocated but not used tail part
- Fixed bug with blob that only had tail part
- Fixed bug when update reused a page (needed multiple write locks for same page)
- Fixed bug when first extent was a tail block
storage/maria/ma_check.c:
Better error message when bitmap is destroyed
storage/maria/ma_close.c:
Only write status if file was changed.
Fixed bug when maria_chk -e file_name changed the file.
storage/maria/ma_dynrec.c:
Removed not used argument to _ma_state_info_read_dsk
storage/maria/ma_extra.c:
HA_EXTRA_PREPARE_FOR_DELETE -> HA_EXTRA_PREPARE_FOR_DROP
Use HA_EXTRA_PREPARE_FOR_RENAME for renames
Only ignore flushing of pages for DROP (not rename)
storage/maria/ma_locking.c:
Removed not used argument to _ma_state_info_read_dsk
storage/maria/ma_open.c:
Removed not used argument to _ma_state_info_read_dsk
storage/maria/ma_pagecache.c:
Allow multiple write locks for same page by same file handle
(Not yet complete, Sanja will fix)
storage/maria/ma_recovery.c:
HA_EXTRA_PREPARE_FOR_DELETE -> HA_EXTRA_PREPARE_FOR_DROP
storage/maria/maria_def.h:
Removed not used argument to _ma_state_info_read_dsk
storage/myisam/mi_extra.c:
HA_EXTRA_PREPARE_FOR_DELETE -> HA_EXTRA_PREPARE_FOR_DROP
Use HA_EXTRA_PREPARE_FOR_RENAME for renames
Only ignore flushing of pages for DROP (not rename)
storage/myisammrg/ha_myisammrg.cc:
HA_EXTRA_PREPARE_FOR_DELETE -> HA_EXTRA_PREPARE_FOR_DROP
Use HA_EXTRA_PREPARE_FOR_RENAME for renames
Diffstat (limited to 'storage/maria/ma_locking.c')
-rw-r--r-- | storage/maria/ma_locking.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/storage/maria/ma_locking.c b/storage/maria/ma_locking.c index f709d7e5759..dad4071edf8 100644 --- a/storage/maria/ma_locking.c +++ b/storage/maria/ma_locking.c @@ -153,7 +153,7 @@ int maria_lock_database(MARIA_HA *info, int lock_type) } if (!share->r_locks && !share->w_locks) { - if (_ma_state_info_read_dsk(share->kfile.file, &share->state, 1)) + if (_ma_state_info_read_dsk(share->kfile.file, &share->state)) { error=my_errno; break; @@ -181,7 +181,7 @@ int maria_lock_database(MARIA_HA *info, int lock_type) { if (!share->r_locks) { - if (_ma_state_info_read_dsk(share->kfile.file, &share->state, 1)) + if (_ma_state_info_read_dsk(share->kfile.file, &share->state)) { error=my_errno; break; @@ -364,7 +364,7 @@ int _ma_readinfo(register MARIA_HA *info, int lock_type, int check_keybuffer) MARIA_SHARE *share=info->s; if (!share->tot_locks) { - if (_ma_state_info_read_dsk(share->kfile.file, &share->state, 1)) + if (_ma_state_info_read_dsk(share->kfile.file, &share->state)) { int error=my_errno ? my_errno : -1; my_errno=error; |