diff options
author | unknown <monty@mashka.mysql.fi> | 2003-09-05 06:42:55 +0300 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2003-09-05 06:42:55 +0300 |
commit | a91b55ce48ca9e4472eecdaefaa584af890821e4 (patch) | |
tree | 5dd76a6d814942ef3e3f103a780cc8adc7877e7d /myisam/mi_locking.c | |
parent | 5e9e6eea1d98404826091dc49dd83fd6bae953af (diff) | |
download | mariadb-git-a91b55ce48ca9e4472eecdaefaa584af890821e4.tar.gz |
Fixed rare bug in MYISAM introduced in 4.0.3 where the index file header was not updated directly after an UPDATE of split dynamic rows.
myisam/mi_locking.c:
Added DBUG info
myisam/mi_open.c:
Added DBUG info
myisam/mi_update.c:
More comments
Fixed rare bug in MYISAM introduced in 4.0.3 where the index file header
was not updated directly after an UPDATE of split dynamic rows.
mysql-test/r/myisam.result:
Added test case for MyISAM UPDATE bug
mysql-test/t/myisam.test:
Added test case for MyISAM UPDATE bug
Diffstat (limited to 'myisam/mi_locking.c')
-rw-r--r-- | myisam/mi_locking.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/myisam/mi_locking.c b/myisam/mi_locking.c index 18daebffa85..a707eb294a9 100644 --- a/myisam/mi_locking.c +++ b/myisam/mi_locking.c @@ -76,6 +76,8 @@ int mi_lock_database(MI_INFO *info, int lock_type) } if (!count) { + DBUG_PRINT("info",("changed: %u w_locks: %u", + (uint) share->changed, share->w_locks)); if (share->changed && !share->w_locks) { share->state.process= share->last_process=share->this_process; @@ -352,6 +354,8 @@ int _mi_writeinfo(register MI_INFO *info, uint operation) int error,olderror; MYISAM_SHARE *share=info->s; DBUG_ENTER("_mi_writeinfo"); + DBUG_PRINT("info",("operation: %u tot_locks: %u", operation, + share->tot_locks)); error=0; if (share->tot_locks == 0) @@ -379,9 +383,7 @@ int _mi_writeinfo(register MI_INFO *info, uint operation) my_errno=olderror; } else if (operation) - { share->changed= 1; /* Mark keyfile changed */ - } DBUG_RETURN(error); } /* _mi_writeinfo */ |