@@ -86,28 +86,6 @@ static int write_merge_key_varlen(MI_SORT_PARAM *info,
86
86
static inline int
87
87
my_var_write (MI_SORT_PARAM * info , IO_CACHE * to_file , uchar * bufs );
88
88
89
-
90
- /*
91
- Sets the appropriate read and write methods for the MI_SORT_PARAM
92
- based on the variable length key flag.
93
- */
94
- static void set_sort_param_read_write (MI_SORT_PARAM * sort_param )
95
- {
96
- if (sort_param -> keyinfo -> flag & HA_VAR_LENGTH_KEY )
97
- {
98
- sort_param -> write_keys = write_keys_varlen ;
99
- sort_param -> read_to_buffer = read_to_buffer_varlen ;
100
- sort_param -> write_key = write_merge_key_varlen ;
101
- }
102
- else
103
- {
104
- sort_param -> write_keys = write_keys ;
105
- sort_param -> read_to_buffer = read_to_buffer ;
106
- sort_param -> write_key = write_merge_key ;
107
- }
108
- }
109
-
110
-
111
89
/*
112
90
Creates a index of sorted keys
113
91
@@ -135,7 +113,18 @@ int _create_index_by_sort(MI_SORT_PARAM *info,my_bool no_messages,
135
113
DBUG_ENTER ("_create_index_by_sort" );
136
114
DBUG_PRINT ("enter" ,("sort_length: %u" , info -> key_length ));
137
115
138
- set_sort_param_read_write (info );
116
+ if (info -> keyinfo -> flag & HA_VAR_LENGTH_KEY )
117
+ {
118
+ info -> write_keys = write_keys_varlen ;
119
+ info -> read_to_buffer = read_to_buffer_varlen ;
120
+ info -> write_key = write_merge_key_varlen ;
121
+ }
122
+ else
123
+ {
124
+ info -> write_keys = write_keys ;
125
+ info -> read_to_buffer = read_to_buffer ;
126
+ info -> write_key = write_merge_key ;
127
+ }
139
128
140
129
my_b_clear (& tempfile );
141
130
my_b_clear (& tempfile_for_exceptions );
@@ -344,6 +333,7 @@ static ha_rows find_all_keys(MI_SORT_PARAM *info, ha_rows keys,
344
333
DBUG_RETURN ((* maxbuffer )* (keys - 1 )+ idx );
345
334
} /* find_all_keys */
346
335
336
+
347
337
/* Search after all keys and place them in a temp. file */
348
338
349
339
pthread_handler_t thr_find_all_keys (void * arg )
@@ -367,7 +357,18 @@ pthread_handler_t thr_find_all_keys(void *arg)
367
357
if (sort_param -> sort_info -> got_error )
368
358
goto err ;
369
359
370
- set_sort_param_read_write (sort_param );
360
+ if (sort_param -> keyinfo -> flag & HA_VAR_LENGTH_KEY )
361
+ {
362
+ sort_param -> write_keys = write_keys_varlen ;
363
+ sort_param -> read_to_buffer = read_to_buffer_varlen ;
364
+ sort_param -> write_key = write_merge_key_varlen ;
365
+ }
366
+ else
367
+ {
368
+ sort_param -> write_keys = write_keys ;
369
+ sort_param -> read_to_buffer = read_to_buffer ;
370
+ sort_param -> write_key = write_merge_key ;
371
+ }
371
372
372
373
my_b_clear (& sort_param -> tempfile );
373
374
my_b_clear (& sort_param -> tempfile_for_exceptions );
@@ -592,9 +593,18 @@ int thr_write_keys(MI_SORT_PARAM *sort_param)
592
593
{
593
594
if (got_error )
594
595
continue ;
595
-
596
- set_sort_param_read_write (sinfo );
597
-
596
+ if (sinfo -> keyinfo -> flag & HA_VAR_LENGTH_KEY )
597
+ {
598
+ sinfo -> write_keys = write_keys_varlen ;
599
+ sinfo -> read_to_buffer = read_to_buffer_varlen ;
600
+ sinfo -> write_key = write_merge_key_varlen ;
601
+ }
602
+ else
603
+ {
604
+ sinfo -> write_keys = write_keys ;
605
+ sinfo -> read_to_buffer = read_to_buffer ;
606
+ sinfo -> write_key = write_merge_key ;
607
+ }
598
608
if (sinfo -> buffpek .elements )
599
609
{
600
610
uint maxbuffer = sinfo -> buffpek .elements - 1 ;
0 commit comments