diff options
author | unknown <bell@sanja.is.com.ua> | 2003-10-22 20:52:47 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-10-22 20:52:47 +0300 |
commit | 47f3a4fd4aa4ac7f2944c85aa20333fa0259ac77 (patch) | |
tree | 094f3d63a932eeaa346520cc5605255beab9debe /sql/item_sum.cc | |
parent | 9a4aa99769b29cb4084b3b16d2bfb7067d817d2c (diff) | |
parent | b7aac7df29e716ab0bfd95e2c7349287912dcbf6 (diff) | |
download | mariadb-git-47f3a4fd4aa4ac7f2944c85aa20333fa0259ac77.tar.gz |
Merge
mysql-test/t/subselect.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/subselect.result:
SCCS merged
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r-- | sql/item_sum.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 672126a2664..c26ed45d0cb 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -1366,6 +1366,14 @@ longlong Item_sum_count_distinct::val_int() return table->file->records; } + +void Item_sum_count_distinct::print(String *str) +{ + str->append("count(distinct "); + args[0]->print(str); + str->append(')'); +} + /**************************************************************************** ** Functions to handle dynamic loadable aggregates ** Original source by: Alexis Mikhailov <root@medinf.chuvashia.su> @@ -1959,3 +1967,28 @@ String* Item_func_group_concat::val_str(String* str) } return &result; } + +void Item_func_group_concat::print(String *str) +{ + str->append("group concat("); + if (distinct) + str->append(" distinct "); + for (uint i= 0; i < arg_count; i++) + { + if (i) + str->append(','); + args[i]->print(str); + } + if (arg_count_order) + { + for (uint i= 0 ; i < arg_count_order ; i++) + { + if (i) + str->append(','); + (*order[i]->item)->print(str); + } + } + str->append(" seperator \'"); + str->append(*separator); + str->append("\')"); +} |