diff options
author | unknown <brian@zim.(none)> | 2006-08-14 15:24:29 -0700 |
---|---|---|
committer | unknown <brian@zim.(none)> | 2006-08-14 15:24:29 -0700 |
commit | 948a89432738e4d3b9c4d2f8287573f97e81ecb3 (patch) | |
tree | 2e163bcaefab8eeba55ac25ca6707e3181740da8 /storage/myisam/mi_update.c | |
parent | 45a5ca85f35d1c13528140b449a27d6b2a47d09d (diff) | |
parent | 61d5563ba413c18b2674e97016093c082b9918d0 (diff) | |
download | mariadb-git-948a89432738e4d3b9c4d2f8287573f97e81ecb3.tar.gz |
Merge zim.(none):/home/brian/mysql/dep-5.0
into zim.(none):/home/brian/mysql/dep-5.1
client/mysql.cc:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/grant2.result:
Auto merged
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/repair.test:
Auto merged
scripts/fill_func_tables.sh:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_update.cc:
Auto merged
storage/heap/hp_delete.c:
Auto merged
storage/myisam/mi_update.c:
Auto merged
storage/myisam/sort.c:
Auto merged
mysql-test/r/mysqldump.result:
Fixing Result
mysql-test/r/repair.result:
Fixing result
mysql-test/t/mysqldump.test:
Merging change
storage/archive/ha_archive.cc:
Merging in change
Diffstat (limited to 'storage/myisam/mi_update.c')
-rw-r--r-- | storage/myisam/mi_update.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/storage/myisam/mi_update.c b/storage/myisam/mi_update.c index f8b5cf55406..9ddda3f5ea9 100644 --- a/storage/myisam/mi_update.c +++ b/storage/myisam/mi_update.c @@ -172,7 +172,17 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec) info->update= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED | HA_STATE_AKTIV | key_changed); myisam_log_record(MI_LOG_UPDATE,info,newrec,info->lastpos,0); - VOID(_mi_writeinfo(info,key_changed ? WRITEINFO_UPDATE_KEYFILE : 0)); + /* + Every myisam function that updates myisam table must end with + call to _mi_writeinfo(). If operation (second param of + _mi_writeinfo()) is not 0 it sets share->changed to 1, that is + flags that data has changed. If operation is 0, this function + equals to no-op in this case. + + mi_update() must always pass !0 value as operation, since even if + there is no index change there could be data change. + */ + VOID(_mi_writeinfo(info, WRITEINFO_UPDATE_KEYFILE)); allow_break(); /* Allow SIGHUP & SIGINT */ if (info->invalidator != 0) { |