diff options
Diffstat (limited to 'storage/maria/ma_preload.c')
-rw-r--r-- | storage/maria/ma_preload.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/storage/maria/ma_preload.c b/storage/maria/ma_preload.c index 35ae8868ee7..138bb94f7d0 100644 --- a/storage/maria/ma_preload.c +++ b/storage/maria/ma_preload.c @@ -55,12 +55,17 @@ int maria_preload(MARIA_HA *info, ulonglong key_map, my_bool ignore_leaves) block_length= keyinfo[0].block_length; - /* Check whether all indexes use the same block size */ - for (i= 1 ; i < keys ; i++) + if (ignore_leaves) { - if (keyinfo[i].block_length != block_length) - DBUG_RETURN(my_errno= HA_ERR_NON_UNIQUE_BLOCK_SIZE); + /* Check whether all indexes use the same block size */ + for (i= 1 ; i < keys ; i++) + { + if (keyinfo[i].block_length != block_length) + DBUG_RETURN(my_errno= HA_ERR_NON_UNIQUE_BLOCK_SIZE); + } } + else + block_length= share->pagecache->block_size; length= info->preload_buff_size/block_length * block_length; set_if_bigger(length, block_length); |