diff options
author | unknown <konstantin@oak.local> | 2003-12-19 19:04:03 +0300 |
---|---|---|
committer | unknown <konstantin@oak.local> | 2003-12-19 19:04:03 +0300 |
commit | 58a52a2a84eafe535317a533af56a81d81a8fd56 (patch) | |
tree | 951b1a6033c70ae5444a97eb91abce40c599a567 /sql/sql_sort.h | |
parent | 844d9b766a70f840641ac0da501c7aa46a586135 (diff) | |
download | mariadb-git-58a52a2a84eafe535317a533af56a81d81a8fd56.tar.gz |
Implementation of SUM(DISTINCT), tests cases
sql/filesort.cc:
Snippet of filesort() code moved to function reuse_freed_buff() -
change buffpek pointers to use buff from freed BUFFPEK
Used in filesort() and merge_walk().
sql/item_sum.cc:
Implementation of Item_sum_sum_distinct - SUM(DISTINCT) item,
which uses Unique to resolve duplicates
sql/item_sum.h:
New sum Item added - Item_sum_sum_distinct - for SUM(DISTINCT) function
sql/sql_class.h:
added walk() and reset() methods to Unique, used in Item_sum_sum_distinct.
sql/sql_sort.h:
declaration for reuse_freed_buff() to be able to use it in uniques.cc
sql/sql_yacc.yy:
parser extended to handle MIN(DISTICNT), MAX(DISTINCT), SUM(DISTINCT)
sql/uniques.cc:
Implementation for Unique::reset(), Unique::walk() as well as for merge_walk()
algorithm.
Diffstat (limited to 'sql/sql_sort.h')
-rw-r--r-- | sql/sql_sort.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_sort.h b/sql/sql_sort.h index 9f95ffa4884..1831c4a2f3d 100644 --- a/sql/sql_sort.h +++ b/sql/sql_sort.h @@ -78,3 +78,4 @@ int merge_buffers(SORTPARAM *param,IO_CACHE *from_file, IO_CACHE *to_file, uchar *sort_buffer, BUFFPEK *lastbuff,BUFFPEK *Fb, BUFFPEK *Tb,int flag); +void reuse_freed_buff(QUEUE *queue, BUFFPEK *reuse, uint key_length); |