diff options
author | unknown <mhansson/martin@linux-st28.site> | 2007-12-14 12:40:39 +0100 |
---|---|---|
committer | unknown <mhansson/martin@linux-st28.site> | 2007-12-14 12:40:39 +0100 |
commit | a9e05bf7586b3ab83d93a54e793dacbd8dec5846 (patch) | |
tree | 1514881498b2ad7c26d18c70c7e78ab6fc6c365d /sql/item_sum.h | |
parent | 666efa1c43344a0b4dbe815e57333647d4d8f2b3 (diff) | |
parent | 0c4b3f5784fa1af52bd978c1280180c2d659367f (diff) | |
download | mariadb-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.h | 28 |
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;} |