From 6b98a4406a2c12ff21ea5d0ec39b1b882268ca50 Mon Sep 17 00:00:00 2001 From: Jason Petersen Date: Tue, 11 Oct 2016 11:08:52 -0600 Subject: [PATCH] Fix approximate COUNT DISTINCT codepath Now that we call get_agg_clause_costs, this becomes easy. --- src/backend/distributed/planner/multi_logical_optimizer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/backend/distributed/planner/multi_logical_optimizer.c b/src/backend/distributed/planner/multi_logical_optimizer.c index c51ac9718..df4aa365b 100644 --- a/src/backend/distributed/planner/multi_logical_optimizer.c +++ b/src/backend/distributed/planner/multi_logical_optimizer.c @@ -1487,8 +1487,11 @@ MasterAggregateExpression(Aggref *originalAggregate, unionAggregate->aggtype = hllType; unionAggregate->args = list_make1(hllTargetEntry); unionAggregate->aggkind = AGGKIND_NORMAL; - - /* TODO: Fix this for 9.6 */ +#if (PG_VERSION_NUM >= 90600) + unionAggregate->aggtranstype = InvalidOid; + unionAggregate->aggargtypes = list_make1_oid(unionAggregate->aggtype); + unionAggregate->aggsplit = AGGSPLIT_SIMPLE; +#endif cardinalityExpression = makeNode(FuncExpr); cardinalityExpression->funcid = cardinalityFunctionId;