@@ -118,38 +118,6 @@ bool Binary_string::realloc_raw(size_t alloc_length)
118
118
}
119
119
120
120
121
- static uint32 write_float_str_to_buff (char *buff, int buff_len,
122
- float num, uint decimals)
123
- {
124
- if (decimals >= FLOATING_POINT_DECIMALS)
125
- return (uint32)my_gcvt (num, MY_GCVT_ARG_FLOAT, buff_len - 1 , buff, NULL );
126
- else
127
- return (uint32)my_fcvt (num, decimals, buff, NULL );
128
- }
129
-
130
- bool String::append_float (float num, uint decimals)
131
- {
132
- uint dummy_errors;
133
- size_t len;
134
- DBUG_ASSERT (!std::isnan (num));
135
- DBUG_ASSERT (!std::isinf (num));
136
- if (realloc_with_extra_if_needed (str_length + FLOATING_POINT_BUFFER))
137
- return true ;
138
-
139
- if (charset ()->mbminlen > 1 )
140
- {
141
- char buff[FLOATING_POINT_BUFFER];
142
- len= write_float_str_to_buff (buff, sizeof (buff), num, decimals);
143
- str_length+= copy_and_convert (Ptr + str_length, len, charset (), buff, len,
144
- &my_charset_latin1, &dummy_errors);
145
- }
146
- else
147
- str_length+= write_float_str_to_buff (Ptr + str_length,
148
- FLOATING_POINT_BUFFER, num, decimals);
149
- return false ;
150
- }
151
-
152
-
153
121
bool String::set_int (longlong num, bool unsigned_flag, CHARSET_INFO *cs)
154
122
{
155
123
/*
@@ -242,7 +210,8 @@ bool Binary_string::set_fcvt(double num, uint decimals)
242
210
}
243
211
244
212
245
- bool String::set_real (double num,uint decimals, CHARSET_INFO *cs)
213
+ bool String::set_real_with_type (double num, uint decimals, CHARSET_INFO *cs,
214
+ my_gcvt_arg_type type)
246
215
{
247
216
char buff[FLOATING_POINT_BUFFER];
248
217
uint dummy_errors;
@@ -251,12 +220,11 @@ bool String::set_real(double num,uint decimals, CHARSET_INFO *cs)
251
220
set_charset (cs);
252
221
if (decimals >= FLOATING_POINT_DECIMALS)
253
222
{
254
- len= my_gcvt (num, MY_GCVT_ARG_DOUBLE , sizeof (buff) - 1 , buff, NULL );
223
+ len= my_gcvt (num, type , sizeof (buff) - 1 , buff, NULL );
255
224
return copy (buff, (uint)len, &my_charset_latin1, cs, &dummy_errors);
256
225
}
257
226
len= my_fcvt (num, decimals, buff, NULL );
258
- return copy (buff, (uint32) len, &my_charset_latin1, cs,
259
- &dummy_errors);
227
+ return copy (buff, (uint32) len, &my_charset_latin1, cs, &dummy_errors);
260
228
}
261
229
262
230
0 commit comments