1+ /* ------------------------------------------------------------------------
2+ *
3+ * pg_compat.h
4+ * Compatibility tools
5+ *
6+ * Copyright (c) 2016, Postgres Professional
7+ *
8+ * ------------------------------------------------------------------------
9+ */
10+
111#ifndef PG_COMPAT_H
212#define PG_COMPAT_H
313
818#include "optimizer/cost.h"
919#include "optimizer/paths.h"
1020
11- /*
12- extern double get_parameterized_joinrel_size_compat(PlannerInfo *root,
13- RelOptInfo *rel,
14- Path *outer_path,
15- Path *inner_path,
16- SpecialJoinInfo *sjinfo,
17- List *restrict_clauses);
18- */
21+
1922extern void set_append_rel_size_compat (PlannerInfo * root , RelOptInfo * rel ,
2023 Index rti , RangeTblEntry * rte );
2124extern void copy_targetlist_compat (RelOptInfo * dest , RelOptInfo * rel );
2225
2326#if PG_VERSION_NUM >= 90600
2427
25- #define get_parameterized_joinrel_size_compat (root , \
26- rel , \
27- outer_path , \
28- inner_path , \
29- sjinfo , \
28+ #define get_parameterized_joinrel_size_compat (root , rel , outer_path , \
29+ inner_path , sjinfo , \
3030 restrict_clauses ) \
31- get_parameterized_joinrel_size(root, \
32- rel, \
33- outer_path, \
34- inner_path, \
35- sjinfo, \
31+ get_parameterized_joinrel_size(root, rel, outer_path, \
32+ inner_path, sjinfo, \
3633 restrict_clauses)
3734
3835#define check_index_predicates_compat (rool , rel ) \
3936 check_index_predicates(root, rel)
4037
41- #define create_append_path_compat (rel , subpaths , required_outer , \
42- parallel_workers ) \
38+ #define create_append_path_compat (rel , subpaths , required_outer , parallel_workers ) \
4339 create_append_path(rel, subpaths, required_outer, parallel_workers)
4440
4541#define pull_var_clause_compat (node , aggbehavior , phbehavior ) \
@@ -49,26 +45,21 @@ extern Result *make_result(List *tlist, Node *resconstantqual, Plan *subplan);
4945#define make_result_compat (root , tlist , resconstantqual , subplan ) \
5046 make_result(tlist, resconstantqual, subplan)
5147
52- #else
48+ #else /* PG_VERSION_NUM >= 90500 */
5349
54- #define get_parameterized_joinrel_size_compat (root , \
55- rel , \
50+ #define get_parameterized_joinrel_size_compat (root , rel , \
5651 outer_path , \
5752 inner_path , \
58- sjinfo , \
59- restrict_clauses ) \
60- get_parameterized_joinrel_size(root, \
61- rel, \
53+ sjinfo , restrict_clauses ) \
54+ get_parameterized_joinrel_size(root, rel, \
6255 (outer_path)->rows, \
6356 (inner_path)->rows, \
64- sjinfo, \
65- restrict_clauses)
57+ sjinfo, restrict_clauses)
6658
6759#define check_index_predicates_compat (rool , rel ) \
6860 check_partial_indexes(root, rel)
6961
70- #define create_append_path_compat (rel , subpaths , required_outer , \
71- parallel_workers ) \
62+ #define create_append_path_compat (rel , subpaths , required_outer , parallel_workers ) \
7263 create_append_path(rel, subpaths, required_outer)
7364
7465#define pull_var_clause_compat (node , aggbehavior , phbehavior ) \
@@ -79,4 +70,5 @@ extern Result *make_result(List *tlist, Node *resconstantqual, Plan *subplan);
7970
8071#endif
8172
82- #endif
73+
74+ #endif /* PG_COMPAT_H */
0 commit comments