summaryrefslogtreecommitdiff
path: root/sql/item_sum.h
diff options
context:
space:
mode:
authorunknown <mhansson/martin@linux-st28.site>2007-12-14 12:40:39 +0100
committerunknown <mhansson/martin@linux-st28.site>2007-12-14 12:40:39 +0100
commita9e05bf7586b3ab83d93a54e793dacbd8dec5846 (patch)
tree1514881498b2ad7c26d18c70c7e78ab6fc6c365d /sql/item_sum.h
parent666efa1c43344a0b4dbe815e57333647d4d8f2b3 (diff)
parent0c4b3f5784fa1af52bd978c1280180c2d659367f (diff)
downloadmariadb-git-a9e05bf7586b3ab83d93a54e793dacbd8dec5846.tar.gz
Merge linux-st28.site:/home/martin/mysql/src/bug32798-united/my50-bug32798-united
into linux-st28.site:/home/martin/mysql/src/bug32798-united/my51-bug32798-united mysql-test/r/func_gconcat.result: Auto merged mysql-test/t/func_gconcat.test: Auto merged sql/item_sum.cc: Manual merge, Field::cmp has argument type const uchar* in 5.1 sql/item_sum.h: manual merge
Diffstat (limited to 'sql/item_sum.h')
-rw-r--r--sql/item_sum.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/sql/item_sum.h b/sql/item_sum.h
index b3a382012f1..a3582967736 100644
--- a/sql/item_sum.h
+++ b/sql/item_sum.h
@@ -1173,11 +1173,22 @@ class Item_func_group_concat : public Item_sum
String *separator;
TREE tree_base;
TREE *tree;
+
+ /**
+ If DISTINCT is used with this GROUP_CONCAT, this member is used to filter
+ out duplicates.
+ @see Item_func_group_concat::setup
+ @see Item_func_group_concat::add
+ @see Item_func_group_concat::clear
+ */
+ Unique *unique_filter;
TABLE *table;
ORDER **order;
Name_resolution_context *context;
- uint arg_count_order; // total count of ORDER BY items
- uint arg_count_field; // count of arguments
+ /** The number of ORDER BY items. */
+ uint arg_count_order;
+ /** The number of selected items, aka the expr list. */
+ uint arg_count_field;
uint count_cut_values;
bool distinct;
bool warning_for_row;
@@ -1190,13 +1201,10 @@ class Item_func_group_concat : public Item_sum
*/
Item_func_group_concat *original;
- friend int group_concat_key_cmp_with_distinct(void* arg, uchar* key1,
- uchar* key2);
- friend int group_concat_key_cmp_with_order(void* arg, uchar* key1,
- uchar* key2);
- friend int group_concat_key_cmp_with_distinct_and_order(void* arg,
- uchar* key1,
- uchar* key2);
+ friend int group_concat_key_cmp_with_distinct(void* arg, const void* key1,
+ const void* key2);
+ friend int group_concat_key_cmp_with_order(void* arg, const void* key1,
+ const void* key2);
friend int dump_leaf_key(uchar* key,
element_count count __attribute__((unused)),
Item_func_group_concat *group_concat_item);
@@ -1207,7 +1215,7 @@ public:
SQL_LIST *is_order, String *is_separator);
Item_func_group_concat(THD *thd, Item_func_group_concat *item);
- ~Item_func_group_concat() {}
+ ~Item_func_group_concat();
void cleanup();
enum Sumfunctype sum_func () const {return GROUP_CONCAT_FUNC;}