20 #define QTW_IGNORE_RT_SUBQUERIES 0x01
21 #define QTW_IGNORE_CTE_SUBQUERIES 0x02
22 #define QTW_IGNORE_RC_SUBQUERIES 0x03
23 #define QTW_IGNORE_JOINALIASES 0x04
24 #define QTW_IGNORE_RANGE_TABLE 0x08
25 #define QTW_EXAMINE_RTES 0x10
26 #define QTW_DONT_COPY_QUERY 0x20
49 void *context,
int flags);
51 void *context,
int flags);
54 void *context,
int flags);
56 void *context,
int flags);
59 void *context,
int flags);
61 void *context,
int flags);
Query * query_tree_mutator(Query *query, Node *(*mutator)(), void *context, int flags)
Node * relabel_to_typmod(Node *expr, int32 typmod)
Node * expression_tree_mutator(Node *node, Node *(*mutator)(), void *context)
bool planstate_tree_walker(struct PlanState *planstate, bool(*walker)(), void *context)
Oid exprType(const Node *expr)
bool exprIsLengthCoercion(const Node *expr, int32 *coercedTypmod)
Node * query_or_expression_tree_mutator(Node *node, Node *(*mutator)(), void *context, int flags)
Oid exprCollation(const Node *expr)
bool raw_expression_tree_walker(Node *node, bool(*walker)(), void *context)
int32 exprTypmod(const Node *expr)
Node * strip_implicit_coercions(Node *node)
bool expression_returns_set(Node *clause)
bool query_tree_walker(Query *query, bool(*walker)(), void *context, int flags)
bool expression_tree_walker(Node *node, bool(*walker)(), void *context)
void exprSetInputCollation(Node *expr, Oid inputcollation)
Oid exprInputCollation(const Node *expr)
List * range_table_mutator(List *rtable, Node *(*mutator)(), void *context, int flags)
int exprLocation(const Node *expr)
bool query_or_expression_tree_walker(Node *node, bool(*walker)(), void *context, int flags)
void exprSetCollation(Node *expr, Oid collation)
bool range_table_walker(List *rtable, bool(*walker)(), void *context, int flags)