summaryrefslogtreecommitdiff
path: root/src/backend/executor/execGrouping.c
AgeCommit message (Collapse)Author
2003-11-29$Header: -> $PostgreSQL Changes ...PostgreSQL Daemon
2003-08-19Improve dynahash.c's API so that caller can specify the comparison functionTom Lane
as well as the hash function (formerly the comparison function was hardwired as memcmp()). This makes it possible to eliminate the special-purpose hashtable management code in execGrouping.c in favor of using dynahash to manage tuple hashtables; which is a win because dynahash knows how to expand a hashtable when the original size estimate was too small, whereas the special-purpose code was too stupid to do that. (See recent gripe from Stephan Szabo about poor performance when hash table size estimate is way off.) Free side benefit: when using string_hash, the default comparison function is now strncmp() instead of memcmp(). This should eliminate some part of the overhead associated with larger NAMEDATALEN values.
2003-08-08Another pgindent run with updated typedefs.Bruce Momjian
2003-08-04Update copyrights to 2003.Bruce Momjian
2003-08-04pgindent run.Bruce Momjian
2003-07-21Error message editing in backend/executor.Tom Lane
2003-06-22Revise hash join and hash aggregation code to use the same datatype-Tom Lane
specific hash functions used by hash indexes, rather than the old not-datatype-aware ComputeHashFunc routine. This makes it safe to do hash joining on several datatypes that previously couldn't use hashing. The sets of datatypes that are hash indexable and hash joinable are now exactly the same, whereas before each had some that weren't in the other.
2003-01-12First cut at implementing IN (and NOT IN) via hashtables. There isTom Lane
more to be done yet, but this is a good start.
2003-01-10Create a new file executor/execGrouping.c to centralize utility routinesTom Lane
shared by nodeGroup, nodeAgg, and soon nodeSubplan.