• Tom Lane's avatar
    First phase of implementing hash-based grouping/aggregation. An AGG plan · f6dba10e
    Tom Lane authored
    node now does its own grouping of the input rows, and has no need for a
    preceding GROUP node in the plan pipeline.  This allows elimination of
    the misnamed tuplePerGroup option for GROUP, and actually saves more code
    in nodeGroup.c than it costs in nodeAgg.c, as well as being presumably
    faster.  Restructure the API of query_planner so that we do not commit to
    using a sorted or unsorted plan in query_planner; instead grouping_planner
    makes the decision.  (Right now it isn't any smarter than query_planner
    was, but that will change as soon as it has the option to select a hash-
    based aggregation step.)  Despite all the hackery, no initdb needed since
    only in-memory node types changed.
    f6dba10e
equalfuncs.c 49.8 KB