Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 570be1f

Browse files
committed
Re-export a few of createplan.c's make_xxx() functions.
CitusDB is using these and don't wish to redesign their code right now. I am not on board with this being a good idea, or a good precedent, but I lack the energy to fight about it.
1 parent 7087166 commit 570be1f

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

src/backend/optimizer/plan/createplan.c

+3-10
Original file line numberDiff line numberDiff line change
@@ -242,16 +242,10 @@ static EquivalenceMember *find_ec_member_for_tle(EquivalenceClass *ec,
242242
TargetEntry *tle,
243243
Relids relids);
244244
static Sort *make_sort_from_pathkeys(Plan *lefttree, List *pathkeys);
245-
static Sort *make_sort_from_sortclauses(List *sortcls, Plan *lefttree);
246245
static Sort *make_sort_from_groupcols(List *groupcls,
247246
AttrNumber *grpColIdx,
248247
Plan *lefttree);
249248
static Material *make_material(Plan *lefttree);
250-
static Agg *make_agg(List *tlist, List *qual, AggStrategy aggstrategy,
251-
bool combineStates, bool finalizeAggs,
252-
int numGroupCols, AttrNumber *grpColIdx, Oid *grpOperators,
253-
List *groupingSets, List *chain,
254-
double dNumGroups, Plan *lefttree);
255249
static WindowAgg *make_windowagg(List *tlist, Index winref,
256250
int partNumCols, AttrNumber *partColIdx, Oid *partOperators,
257251
int ordNumCols, AttrNumber *ordColIdx, Oid *ordOperators,
@@ -269,7 +263,6 @@ static SetOp *make_setop(SetOpCmd cmd, SetOpStrategy strategy, Plan *lefttree,
269263
List *distinctList, AttrNumber flagColIdx, int firstFlag,
270264
long numGroups);
271265
static LockRows *make_lockrows(Plan *lefttree, List *rowMarks, int epqParam);
272-
static Limit *make_limit(Plan *lefttree, Node *limitOffset, Node *limitCount);
273266
static Result *make_result(List *tlist, Node *resconstantqual, Plan *subplan);
274267
static ModifyTable *make_modifytable(PlannerInfo *root,
275268
CmdType operation, bool canSetTag,
@@ -5500,7 +5493,7 @@ make_sort_from_pathkeys(Plan *lefttree, List *pathkeys)
55005493
* 'sortcls' is a list of SortGroupClauses
55015494
* 'lefttree' is the node which yields input tuples
55025495
*/
5503-
static Sort *
5496+
Sort *
55045497
make_sort_from_sortclauses(List *sortcls, Plan *lefttree)
55055498
{
55065499
List *sub_tlist = lefttree->targetlist;
@@ -5635,7 +5628,7 @@ materialize_finished_plan(Plan *subplan)
56355628
return matplan;
56365629
}
56375630

5638-
static Agg *
5631+
Agg *
56395632
make_agg(List *tlist, List *qual,
56405633
AggStrategy aggstrategy,
56415634
bool combineStates, bool finalizeAggs,
@@ -5973,7 +5966,7 @@ make_lockrows(Plan *lefttree, List *rowMarks, int epqParam)
59735966
* make_limit
59745967
* Build a Limit plan node
59755968
*/
5976-
static Limit *
5969+
Limit *
59775970
make_limit(Plan *lefttree, Node *limitOffset, Node *limitCount)
59785971
{
59795972
Limit *node = makeNode(Limit);

src/include/optimizer/planmain.h

+8
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,14 @@ extern ForeignScan *make_foreignscan(List *qptlist, List *qpqual,
5555
extern Plan *materialize_finished_plan(Plan *subplan);
5656
extern bool is_projection_capable_path(Path *path);
5757
extern bool is_projection_capable_plan(Plan *plan);
58+
/* External use of these functions is deprecated: */
59+
extern Sort *make_sort_from_sortclauses(List *sortcls, Plan *lefttree);
60+
extern Agg *make_agg(List *tlist, List *qual, AggStrategy aggstrategy,
61+
bool combineStates, bool finalizeAggs,
62+
int numGroupCols, AttrNumber *grpColIdx, Oid *grpOperators,
63+
List *groupingSets, List *chain,
64+
double dNumGroups, Plan *lefttree);
65+
extern Limit *make_limit(Plan *lefttree, Node *limitOffset, Node *limitCount);
5866

5967
/*
6068
* prototypes for plan/initsplan.c

0 commit comments

Comments
 (0)