• H
    Rename "prelim function" to "combine function", to match upstream. · b8545d57
    Heikki Linnakangas 提交于
    The GPDB "prelim" functions did the same things as the "combine"
    functions introduced in PostgreSQL 9.6 This commit includes just the
    catalog changes, to essentially search & replace "prelim" with
    "combine". I did not pick the planner and executor changes that were
    made as part of this in the upstream, yet.
    
    Also replace the GPDB implementation of float8_amalg() and
    float8_regr_amalg(), with the upstream float8_combine() and
    float8_regr_combine(). They do the same thing, but let's use upstream
    functions where possible.
    
    Upstream commits:
    commit a7de3dc5
    Author: Robert Haas <rhaas@postgresql.org>
    Date:   Wed Jan 20 13:46:50 2016 -0500
    
        Support multi-stage aggregation.
    
        Aggregate nodes now have two new modes: a "partial" mode where they
        output the unfinalized transition state, and a "finalize" mode where
        they accept unfinalized transition states rather than individual
        values as input.
    
        These new modes are not used anywhere yet, but they will be necessary
        for parallel aggregation.  The infrastructure also figures to be
        useful for cases where we want to aggregate local data and remote
        data via the FDW interface, and want to bring back partial aggregates
        from the remote side that can then be combined with locally generated
        partial aggregates to produce the final value.  It may also be useful
        even when neither FDWs nor parallelism are in play, as explained in
        the comments in nodeAgg.c.
    
        David Rowley and Simon Riggs, reviewed by KaiGai Kohei, Heikki
        Linnakangas, Haribabu Kommi, and me.
    
    commit af025eed
    Author: Robert Haas <rhaas@postgresql.org>
    Date:   Fri Apr 8 13:44:50 2016 -0400
    
        Add combine functions for various floating-point aggregates.
    
        This allows parallel aggregation to use them.  It may seem surprising
        that we use float8_combine for both float4_accum and float8_accum
        transition functions, but that's because those functions differ only
        in the type of the non-transition-state argument.
    
        Haribabu Kommi, reviewed by David Rowley and Tomas Vondra
    b8545d57
planner.c 155.2 KB