Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef SUBSELECT_H
00013 #define SUBSELECT_H
00014
00015 #include "nodes/plannodes.h"
00016 #include "nodes/relation.h"
00017
00018 extern void SS_process_ctes(PlannerInfo *root);
00019 extern JoinExpr *convert_ANY_sublink_to_join(PlannerInfo *root,
00020 SubLink *sublink,
00021 Relids available_rels);
00022 extern JoinExpr *convert_EXISTS_sublink_to_join(PlannerInfo *root,
00023 SubLink *sublink,
00024 bool under_not,
00025 Relids available_rels);
00026 extern Node *SS_replace_correlation_vars(PlannerInfo *root, Node *expr);
00027 extern Node *SS_process_sublinks(PlannerInfo *root, Node *expr, bool isQual);
00028 extern void SS_finalize_plan(PlannerInfo *root, Plan *plan,
00029 bool attach_initplans);
00030 extern Param *SS_make_initplan_from_plan(PlannerInfo *root, Plan *plan,
00031 Oid resulttype, int32 resulttypmod, Oid resultcollation);
00032 extern Param *assign_nestloop_param_var(PlannerInfo *root, Var *var);
00033 extern Param *assign_nestloop_param_placeholdervar(PlannerInfo *root,
00034 PlaceHolderVar *phv);
00035 extern int SS_assign_special_param(PlannerInfo *root);
00036
00037 #endif