diff options
Diffstat (limited to 'sql/sql_analyse.cc')
-rw-r--r-- | sql/sql_analyse.cc | 70 |
1 files changed, 9 insertions, 61 deletions
diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc index 5b3a99afed7..78fe32da8d5 100644 --- a/sql/sql_analyse.cc +++ b/sql/sql_analyse.cc @@ -29,6 +29,7 @@ #define MYSQL_LEX 1 +#include <my_global.h> #include "sql_priv.h" #include "procedure.h" #include "sql_analyse.h" @@ -282,16 +283,16 @@ bool get_ev_num_info(EV_NUM_INFO *ev_info, NUM_INFO *info, const char *num) { if (((longlong) info->ullval) < 0) return 0; // Impossible to store as a negative number - ev_info->llval = -(longlong) max((ulonglong) -ev_info->llval, + ev_info->llval = -(longlong) MY_MAX((ulonglong) -ev_info->llval, info->ullval); - ev_info->min_dval = (double) -max(-ev_info->min_dval, info->dval); + ev_info->min_dval = (double) -MY_MAX(-ev_info->min_dval, info->dval); } else // ulonglong is as big as bigint in MySQL { if ((check_ulonglong(num, info->integers) == DECIMAL_NUM)) return 0; - ev_info->ullval = (ulonglong) max(ev_info->ullval, info->ullval); - ev_info->max_dval = (double) max(ev_info->max_dval, info->dval); + ev_info->ullval = (ulonglong) MY_MAX(ev_info->ullval, info->ullval); + ev_info->max_dval = (double) MY_MAX(ev_info->max_dval, info->dval); } return 1; } // get_ev_num_info @@ -1040,7 +1041,7 @@ String *field_decimal::avg(String *s, ha_rows rows) my_decimal_div(E_DEC_FATAL_ERROR, &avg_val, sum+cur_sum, &num, prec_increment); /* TODO remove this after decimal_div returns proper frac */ my_decimal_round(E_DEC_FATAL_ERROR, &avg_val, - min(sum[cur_sum].frac + prec_increment, DECIMAL_MAX_SCALE), + MY_MIN(sum[cur_sum].frac + prec_increment, DECIMAL_MAX_SCALE), FALSE,&rounded_avg); my_decimal2string(E_DEC_FATAL_ERROR, &rounded_avg, 0, 0, '0', s); return s; @@ -1065,7 +1066,7 @@ String *field_decimal::std(String *s, ha_rows rows) my_decimal_div(E_DEC_FATAL_ERROR, &tmp, &sum2, &num, prec_increment); my_decimal2double(E_DEC_FATAL_ERROR, &tmp, &std_sqr); s->set_real(((double) std_sqr <= 0.0 ? 0.0 : sqrt(std_sqr)), - min(item->decimals + prec_increment, NOT_FIXED_DEC), my_thd_charset); + MY_MIN(item->decimals + prec_increment, NOT_FIXED_DEC), my_thd_charset); return s; } @@ -1080,7 +1081,7 @@ int collect_string(String *element, else info->found = 1; info->str->append('\''); - if (append_escaped(info->str, element)) + if (info->str->append_for_single_quote(element)) return 1; info->str->append('\''); return 0; @@ -1182,7 +1183,7 @@ bool analyse::change_columns(List<Item> &field_list) func_items[8] = new Item_proc_string("Std", 255); func_items[8]->maybe_null = 1; func_items[9] = new Item_proc_string("Optimal_fieldtype", - max(64, output_str_length)); + MY_MAX(64, output_str_length)); for (uint i = 0; i < array_elements(func_items); i++) field_list.push_back(func_items[i]); @@ -1239,56 +1240,3 @@ uint check_ulonglong(const char *str, uint length) return ((uchar) str[-1] <= (uchar) cmp[-1]) ? smaller : bigger; } /* check_ulonlong */ - -/* - Quote special characters in a string. - - SYNOPSIS - append_escaped(to_str, from_str) - to_str (in) A pointer to a String. - from_str (to) A pointer to an allocated string - - DESCRIPTION - append_escaped() takes a String type variable, where it appends - escaped the second argument. Only characters that require escaping - will be escaped. - - RETURN VALUES - 0 Success - 1 Out of memory -*/ - -bool append_escaped(String *to_str, String *from_str) -{ - char *from, *end, c; - - if (to_str->realloc(to_str->length() + from_str->length())) - return 1; - - from= (char*) from_str->ptr(); - end= from + from_str->length(); - for (; from < end; from++) - { - c= *from; - switch (c) { - case '\0': - c= '0'; - break; - case '\032': - c= 'Z'; - break; - case '\\': - case '\'': - break; - default: - goto normal_character; - } - if (to_str->append('\\')) - return 1; - - normal_character: - if (to_str->append(c)) - return 1; - } - return 0; -} |