1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

All String->set() now have charset argument

This commit is contained in:
bar@bar.mysql.r18.ru
2002-10-30 16:19:43 +04:00
parent 637b97991d
commit b43876b9dd
13 changed files with 94 additions and 76 deletions

View File

@ -128,10 +128,10 @@ public:
String *avg(String *s, ha_rows rows)
{
if (!(rows - nulls))
s->set((double) 0.0, 1);
s->set((double) 0.0, 1,my_thd_charset);
else
s->set((ulonglong2double(sum) / ulonglong2double(rows - nulls)),
DEC_IN_AVG);
DEC_IN_AVG,my_thd_charset);
return s;
}
friend int collect_string(String *element, element_count count,
@ -160,26 +160,34 @@ public:
void add();
void get_opt_type(String*, ha_rows);
String *get_min_arg(String *s) { s->set(min_arg, item->decimals); return s; }
String *get_max_arg(String *s) { s->set(max_arg, item->decimals); return s; }
String *get_min_arg(String *s)
{
s->set(min_arg, item->decimals,my_thd_charset);
return s;
}
String *get_max_arg(String *s)
{
s->set(max_arg, item->decimals,my_thd_charset);
return s;
}
String *avg(String *s, ha_rows rows)
{
if (!(rows - nulls))
s->set((double) 0.0, 1);
s->set((double) 0.0, 1,my_thd_charset);
else
s->set(((double)sum / (double) (rows - nulls)), item->decimals);
s->set(((double)sum / (double) (rows - nulls)), item->decimals,my_thd_charset);
return s;
}
String *std(String *s, ha_rows rows)
{
double tmp = ulonglong2double(rows);
if (!(tmp - nulls))
s->set((double) 0.0, 1);
s->set((double) 0.0, 1,my_thd_charset);
else
{
double tmp2 = ((sum_sqr - sum * sum / (tmp - nulls)) /
(tmp - nulls));
s->set(((double) tmp2 <= 0.0 ? 0.0 : sqrt(tmp2)), item->decimals);
s->set(((double) tmp2 <= 0.0 ? 0.0 : sqrt(tmp2)), item->decimals,my_thd_charset);
}
return s;
}
@ -206,26 +214,26 @@ public:
void add();
void get_opt_type(String*, ha_rows);
String *get_min_arg(String *s) { s->set(min_arg); return s; }
String *get_max_arg(String *s) { s->set(max_arg); return s; }
String *get_min_arg(String *s) { s->set(min_arg,my_thd_charset); return s; }
String *get_max_arg(String *s) { s->set(max_arg,my_thd_charset); return s; }
String *avg(String *s, ha_rows rows)
{
if (!(rows - nulls))
s->set((double) 0.0, 1);
s->set((double) 0.0, 1,my_thd_charset);
else
s->set(((double) sum / (double) (rows - nulls)), DEC_IN_AVG);
s->set(((double) sum / (double) (rows - nulls)), DEC_IN_AVG,my_thd_charset);
return s;
}
String *std(String *s, ha_rows rows)
{
double tmp = ulonglong2double(rows);
if (!(tmp - nulls))
s->set((double) 0.0, 1);
s->set((double) 0.0, 1,my_thd_charset);
else
{
double tmp2 = ((sum_sqr - sum * sum / (tmp - nulls)) /
(tmp - nulls));
s->set(((double) tmp2 <= 0.0 ? 0.0 : sqrt(tmp2)), DEC_IN_AVG);
s->set(((double) tmp2 <= 0.0 ? 0.0 : sqrt(tmp2)), DEC_IN_AVG,my_thd_charset);
}
return s;
}
@ -250,28 +258,28 @@ public:
(qsort_cmp2) compare_ulonglong2, 0, NULL, NULL); }
void add();
void get_opt_type(String*, ha_rows);
String *get_min_arg(String *s) { s->set(min_arg); return s; }
String *get_max_arg(String *s) { s->set(max_arg); return s; }
String *get_min_arg(String *s) { s->set(min_arg,my_thd_charset); return s; }
String *get_max_arg(String *s) { s->set(max_arg,my_thd_charset); return s; }
String *avg(String *s, ha_rows rows)
{
if (!(rows - nulls))
s->set((double) 0.0, 1);
s->set((double) 0.0, 1,my_thd_charset);
else
s->set((ulonglong2double(sum) / ulonglong2double(rows - nulls)),
DEC_IN_AVG);
DEC_IN_AVG,my_thd_charset);
return s;
}
String *std(String *s, ha_rows rows)
{
double tmp = ulonglong2double(rows);
if (!(tmp - nulls))
s->set((double) 0.0, 1);
s->set((double) 0.0, 1,my_thd_charset);
else
{
double tmp2 = ((ulonglong2double(sum_sqr) -
ulonglong2double(sum * sum) / (tmp - nulls)) /
(tmp - nulls));
s->set(((double) tmp2 <= 0.0 ? 0.0 : sqrt(tmp2)), DEC_IN_AVG);
s->set(((double) tmp2 <= 0.0 ? 0.0 : sqrt(tmp2)), DEC_IN_AVG,my_thd_charset);
}
return s;
}