diff options
Diffstat (limited to 'storage/myisam/mi_write.c')
-rw-r--r-- | storage/myisam/mi_write.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/storage/myisam/mi_write.c b/storage/myisam/mi_write.c index b1bbf209e25..53140f2ea4c 100644 --- a/storage/myisam/mi_write.c +++ b/storage/myisam/mi_write.c @@ -83,12 +83,15 @@ int mi_write(MI_INFO *info, uchar *record) goto err2; /* Calculate and check all unique constraints */ - for (i=0 ; i < share->state.header.uniques ; i++) + if (mi_is_any_key_active(share->state.key_map)) { - if (mi_check_unique(info,share->uniqueinfo+i,record, - mi_unique_hash(share->uniqueinfo+i,record), - HA_OFFSET_ERROR)) - goto err2; + for (i= 0 ; i < share->state.header.uniques ; i++) + { + if (mi_check_unique(info, share->uniqueinfo + i, record, + mi_unique_hash(share->uniqueinfo + i, record), + HA_OFFSET_ERROR)) + goto err2; + } } /* Write all keys to indextree */ |