diff options
author | Vicențiu Ciorbaru <vicentiu@mariadb.org> | 2016-01-17 22:57:37 +0200 |
---|---|---|
committer | Vicențiu Ciorbaru <vicentiu@mariadb.org> | 2016-01-17 22:57:37 +0200 |
commit | e7a89b46d4ece1351cc60d8bafb8bf90ca9d8cc8 (patch) | |
tree | dfb2c6cafff346c0bfa7dbd917d2ed1f4d723b98 | |
parent | acc837981fc31a3f5f28c392d6f821f0929b12a6 (diff) | |
download | mariadb-git-e7a89b46d4ece1351cc60d8bafb8bf90ca9d8cc8.tar.gz |
Revert "[Code cleanup] Refactor duplicate code within myisam and maria sort.cc"
This reverts commit 727f92fe00ebfa1e81f3cc6c1a73af520f42a0bd.
-rw-r--r-- | storage/maria/ma_sort.c | 62 | ||||
-rw-r--r-- | storage/myisam/sort.c | 64 |
2 files changed, 73 insertions, 53 deletions
diff --git a/storage/maria/ma_sort.c b/storage/maria/ma_sort.c index ef6e8506ac6..967d4a151be 100644 --- a/storage/maria/ma_sort.c +++ b/storage/maria/ma_sort.c @@ -90,27 +90,6 @@ static inline int my_var_write(MARIA_SORT_PARAM *info, IO_CACHE *to_file, uchar *bufs); /* - Sets the appropriate read and write methods for the MARIA_SORT_PARAM - based on the variable length key flag. -*/ -static void set_sort_param_read_write(MARIA_SORT_PARAM *sort_param) -{ - if (sort_param->keyinfo->flag & HA_VAR_LENGTH_KEY) - { - sort_param->write_keys= write_keys_varlen; - sort_param->read_to_buffer= read_to_buffer_varlen; - sort_param->write_key= write_merge_key_varlen; - } - else - { - sort_param->write_keys= write_keys; - sort_param->read_to_buffer= read_to_buffer; - sort_param->write_key= write_merge_key; - } -} - - -/* Creates a index of sorted keys SYNOPSIS @@ -139,7 +118,18 @@ int _ma_create_index_by_sort(MARIA_SORT_PARAM *info, my_bool no_messages, (ulong) sortbuff_size, info->key_length, (ulong) info->sort_info->max_records)); - set_sort_param_read_write(info); + if (info->keyinfo->flag & HA_VAR_LENGTH_KEY) + { + info->write_keys= write_keys_varlen; + info->read_to_buffer= read_to_buffer_varlen; + info->write_key=write_merge_key_varlen; + } + else + { + info->write_keys= write_keys; + info->read_to_buffer=read_to_buffer; + info->write_key=write_merge_key; + } my_b_clear(&tempfile); my_b_clear(&tempfile_for_exceptions); @@ -388,7 +378,18 @@ pthread_handler_t _ma_thr_find_all_keys(void *arg) if (sort_param->sort_info->got_error) goto err; - set_sort_param_read_write(sort_param); + if (sort_param->keyinfo->flag & HA_VAR_LENGTH_KEY) + { + sort_param->write_keys= write_keys_varlen; + sort_param->read_to_buffer= read_to_buffer_varlen; + sort_param->write_key= write_merge_key_varlen; + } + else + { + sort_param->write_keys= write_keys; + sort_param->read_to_buffer= read_to_buffer; + sort_param->write_key= write_merge_key; + } my_b_clear(&sort_param->tempfile); my_b_clear(&sort_param->tempfile_for_exceptions); @@ -613,9 +614,18 @@ int _ma_thr_write_keys(MARIA_SORT_PARAM *sort_param) { if (got_error) continue; - - set_sort_param_read_write(sinfo); - + if (sinfo->keyinfo->flag & HA_VAR_LENGTH_KEY) + { + sinfo->write_keys=write_keys_varlen; + sinfo->read_to_buffer=read_to_buffer_varlen; + sinfo->write_key=write_merge_key_varlen; + } + else + { + sinfo->write_keys=write_keys; + sinfo->read_to_buffer=read_to_buffer; + sinfo->write_key=write_merge_key; + } if (sinfo->buffpek.elements) { uint maxbuffer=sinfo->buffpek.elements-1; diff --git a/storage/myisam/sort.c b/storage/myisam/sort.c index f490e5f0b44..604910e5099 100644 --- a/storage/myisam/sort.c +++ b/storage/myisam/sort.c @@ -86,28 +86,6 @@ static int write_merge_key_varlen(MI_SORT_PARAM *info, static inline int my_var_write(MI_SORT_PARAM *info, IO_CACHE *to_file, uchar *bufs); - -/* - Sets the appropriate read and write methods for the MI_SORT_PARAM - based on the variable length key flag. -*/ -static void set_sort_param_read_write(MI_SORT_PARAM *sort_param) -{ - if (sort_param->keyinfo->flag & HA_VAR_LENGTH_KEY) - { - sort_param->write_keys= write_keys_varlen; - sort_param->read_to_buffer= read_to_buffer_varlen; - sort_param->write_key= write_merge_key_varlen; - } - else - { - sort_param->write_keys= write_keys; - sort_param->read_to_buffer= read_to_buffer; - sort_param->write_key= write_merge_key; - } -} - - /* Creates a index of sorted keys @@ -135,7 +113,18 @@ int _create_index_by_sort(MI_SORT_PARAM *info,my_bool no_messages, DBUG_ENTER("_create_index_by_sort"); DBUG_PRINT("enter",("sort_length: %u", info->key_length)); - set_sort_param_read_write(info); + if (info->keyinfo->flag & HA_VAR_LENGTH_KEY) + { + info->write_keys=write_keys_varlen; + info->read_to_buffer=read_to_buffer_varlen; + info->write_key= write_merge_key_varlen; + } + else + { + info->write_keys=write_keys; + info->read_to_buffer=read_to_buffer; + info->write_key=write_merge_key; + } my_b_clear(&tempfile); my_b_clear(&tempfile_for_exceptions); @@ -344,6 +333,7 @@ static ha_rows find_all_keys(MI_SORT_PARAM *info, ha_rows keys, DBUG_RETURN((*maxbuffer)*(keys-1)+idx); } /* find_all_keys */ + /* Search after all keys and place them in a temp. file */ pthread_handler_t thr_find_all_keys(void *arg) @@ -367,7 +357,18 @@ pthread_handler_t thr_find_all_keys(void *arg) if (sort_param->sort_info->got_error) goto err; - set_sort_param_read_write(sort_param); + if (sort_param->keyinfo->flag & HA_VAR_LENGTH_KEY) + { + sort_param->write_keys= write_keys_varlen; + sort_param->read_to_buffer= read_to_buffer_varlen; + sort_param->write_key= write_merge_key_varlen; + } + else + { + sort_param->write_keys= write_keys; + sort_param->read_to_buffer= read_to_buffer; + sort_param->write_key= write_merge_key; + } my_b_clear(&sort_param->tempfile); my_b_clear(&sort_param->tempfile_for_exceptions); @@ -592,9 +593,18 @@ int thr_write_keys(MI_SORT_PARAM *sort_param) { if (got_error) continue; - - set_sort_param_read_write(sinfo); - + if (sinfo->keyinfo->flag & HA_VAR_LENGTH_KEY) + { + sinfo->write_keys=write_keys_varlen; + sinfo->read_to_buffer=read_to_buffer_varlen; + sinfo->write_key=write_merge_key_varlen; + } + else + { + sinfo->write_keys=write_keys; + sinfo->read_to_buffer=read_to_buffer; + sinfo->write_key=write_merge_key; + } if (sinfo->buffpek.elements) { uint maxbuffer=sinfo->buffpek.elements-1; |