mirror of
https://github.com/postgres/postgres.git
synced 2025-06-11 20:28:21 +03:00
Phase 2 pgindent run for v12.
Switch to 2.1 version of pg_bsd_indent. This formats multiline function declarations "correctly", that is with additional lines of parameter declarations indented to match where the first line's left parenthesis is. Discussion: https://postgr.es/m/CAEepm=0P3FeTXRcU5B2W3jv3PgRVZ-kGUXLGfd42FFhUROO3ug@mail.gmail.com
This commit is contained in:
@ -81,16 +81,16 @@ static void do_sql_command(PGconn *conn, const char *sql);
|
||||
static void begin_remote_xact(ConnCacheEntry *entry);
|
||||
static void pgfdw_xact_callback(XactEvent event, void *arg);
|
||||
static void pgfdw_subxact_callback(SubXactEvent event,
|
||||
SubTransactionId mySubid,
|
||||
SubTransactionId parentSubid,
|
||||
void *arg);
|
||||
SubTransactionId mySubid,
|
||||
SubTransactionId parentSubid,
|
||||
void *arg);
|
||||
static void pgfdw_inval_callback(Datum arg, int cacheid, uint32 hashvalue);
|
||||
static void pgfdw_reject_incomplete_xact_state_change(ConnCacheEntry *entry);
|
||||
static bool pgfdw_cancel_query(PGconn *conn);
|
||||
static bool pgfdw_exec_cleanup_query(PGconn *conn, const char *query,
|
||||
bool ignore_errors);
|
||||
bool ignore_errors);
|
||||
static bool pgfdw_get_cleanup_result(PGconn *conn, TimestampTz endtime,
|
||||
PGresult **result);
|
||||
PGresult **result);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -116,34 +116,34 @@ typedef struct deparse_expr_cxt
|
||||
* remote server.
|
||||
*/
|
||||
static bool foreign_expr_walker(Node *node,
|
||||
foreign_glob_cxt *glob_cxt,
|
||||
foreign_loc_cxt *outer_cxt);
|
||||
foreign_glob_cxt *glob_cxt,
|
||||
foreign_loc_cxt *outer_cxt);
|
||||
static char *deparse_type_name(Oid type_oid, int32 typemod);
|
||||
|
||||
/*
|
||||
* Functions to construct string representation of a node tree.
|
||||
*/
|
||||
static void deparseTargetList(StringInfo buf,
|
||||
RangeTblEntry *rte,
|
||||
Index rtindex,
|
||||
Relation rel,
|
||||
bool is_returning,
|
||||
Bitmapset *attrs_used,
|
||||
bool qualify_col,
|
||||
List **retrieved_attrs);
|
||||
RangeTblEntry *rte,
|
||||
Index rtindex,
|
||||
Relation rel,
|
||||
bool is_returning,
|
||||
Bitmapset *attrs_used,
|
||||
bool qualify_col,
|
||||
List **retrieved_attrs);
|
||||
static void deparseExplicitTargetList(List *tlist,
|
||||
bool is_returning,
|
||||
List **retrieved_attrs,
|
||||
deparse_expr_cxt *context);
|
||||
bool is_returning,
|
||||
List **retrieved_attrs,
|
||||
deparse_expr_cxt *context);
|
||||
static void deparseSubqueryTargetList(deparse_expr_cxt *context);
|
||||
static void deparseReturningList(StringInfo buf, RangeTblEntry *rte,
|
||||
Index rtindex, Relation rel,
|
||||
bool trig_after_row,
|
||||
List *withCheckOptionList,
|
||||
List *returningList,
|
||||
List **retrieved_attrs);
|
||||
Index rtindex, Relation rel,
|
||||
bool trig_after_row,
|
||||
List *withCheckOptionList,
|
||||
List *returningList,
|
||||
List **retrieved_attrs);
|
||||
static void deparseColumnRef(StringInfo buf, int varno, int varattno,
|
||||
RangeTblEntry *rte, bool qualify_col);
|
||||
RangeTblEntry *rte, bool qualify_col);
|
||||
static void deparseRelation(StringInfo buf, Relation rel);
|
||||
static void deparseExpr(Expr *expr, deparse_expr_cxt *context);
|
||||
static void deparseVar(Var *node, deparse_expr_cxt *context);
|
||||
@ -155,45 +155,45 @@ static void deparseOpExpr(OpExpr *node, deparse_expr_cxt *context);
|
||||
static void deparseOperatorName(StringInfo buf, Form_pg_operator opform);
|
||||
static void deparseDistinctExpr(DistinctExpr *node, deparse_expr_cxt *context);
|
||||
static void deparseScalarArrayOpExpr(ScalarArrayOpExpr *node,
|
||||
deparse_expr_cxt *context);
|
||||
deparse_expr_cxt *context);
|
||||
static void deparseRelabelType(RelabelType *node, deparse_expr_cxt *context);
|
||||
static void deparseBoolExpr(BoolExpr *node, deparse_expr_cxt *context);
|
||||
static void deparseNullTest(NullTest *node, deparse_expr_cxt *context);
|
||||
static void deparseArrayExpr(ArrayExpr *node, deparse_expr_cxt *context);
|
||||
static void printRemoteParam(int paramindex, Oid paramtype, int32 paramtypmod,
|
||||
deparse_expr_cxt *context);
|
||||
deparse_expr_cxt *context);
|
||||
static void printRemotePlaceholder(Oid paramtype, int32 paramtypmod,
|
||||
deparse_expr_cxt *context);
|
||||
deparse_expr_cxt *context);
|
||||
static void deparseSelectSql(List *tlist, bool is_subquery, List **retrieved_attrs,
|
||||
deparse_expr_cxt *context);
|
||||
deparse_expr_cxt *context);
|
||||
static void deparseLockingClause(deparse_expr_cxt *context);
|
||||
static void appendOrderByClause(List *pathkeys, bool has_final_sort,
|
||||
deparse_expr_cxt *context);
|
||||
deparse_expr_cxt *context);
|
||||
static void appendLimitClause(deparse_expr_cxt *context);
|
||||
static void appendConditions(List *exprs, deparse_expr_cxt *context);
|
||||
static void deparseFromExprForRel(StringInfo buf, PlannerInfo *root,
|
||||
RelOptInfo *foreignrel, bool use_alias,
|
||||
Index ignore_rel, List **ignore_conds,
|
||||
List **params_list);
|
||||
RelOptInfo *foreignrel, bool use_alias,
|
||||
Index ignore_rel, List **ignore_conds,
|
||||
List **params_list);
|
||||
static void deparseFromExpr(List *quals, deparse_expr_cxt *context);
|
||||
static void deparseRangeTblRef(StringInfo buf, PlannerInfo *root,
|
||||
RelOptInfo *foreignrel, bool make_subquery,
|
||||
Index ignore_rel, List **ignore_conds, List **params_list);
|
||||
RelOptInfo *foreignrel, bool make_subquery,
|
||||
Index ignore_rel, List **ignore_conds, List **params_list);
|
||||
static void deparseAggref(Aggref *node, deparse_expr_cxt *context);
|
||||
static void appendGroupByClause(List *tlist, deparse_expr_cxt *context);
|
||||
static void appendAggOrderBy(List *orderList, List *targetList,
|
||||
deparse_expr_cxt *context);
|
||||
deparse_expr_cxt *context);
|
||||
static void appendFunctionName(Oid funcid, deparse_expr_cxt *context);
|
||||
static Node *deparseSortGroupClause(Index ref, List *tlist, bool force_colno,
|
||||
deparse_expr_cxt *context);
|
||||
deparse_expr_cxt *context);
|
||||
|
||||
/*
|
||||
* Helper functions
|
||||
*/
|
||||
static bool is_subquery_var(Var *node, RelOptInfo *foreignrel,
|
||||
int *relno, int *colno);
|
||||
int *relno, int *colno);
|
||||
static void get_relation_column_alias_ids(Var *node, RelOptInfo *foreignrel,
|
||||
int *relno, int *colno);
|
||||
int *relno, int *colno);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -309,199 +309,199 @@ PG_FUNCTION_INFO_V1(postgres_fdw_handler);
|
||||
* FDW callback routines
|
||||
*/
|
||||
static void postgresGetForeignRelSize(PlannerInfo *root,
|
||||
RelOptInfo *baserel,
|
||||
Oid foreigntableid);
|
||||
RelOptInfo *baserel,
|
||||
Oid foreigntableid);
|
||||
static void postgresGetForeignPaths(PlannerInfo *root,
|
||||
RelOptInfo *baserel,
|
||||
Oid foreigntableid);
|
||||
RelOptInfo *baserel,
|
||||
Oid foreigntableid);
|
||||
static ForeignScan *postgresGetForeignPlan(PlannerInfo *root,
|
||||
RelOptInfo *foreignrel,
|
||||
Oid foreigntableid,
|
||||
ForeignPath *best_path,
|
||||
List *tlist,
|
||||
List *scan_clauses,
|
||||
Plan *outer_plan);
|
||||
RelOptInfo *foreignrel,
|
||||
Oid foreigntableid,
|
||||
ForeignPath *best_path,
|
||||
List *tlist,
|
||||
List *scan_clauses,
|
||||
Plan *outer_plan);
|
||||
static void postgresBeginForeignScan(ForeignScanState *node, int eflags);
|
||||
static TupleTableSlot *postgresIterateForeignScan(ForeignScanState *node);
|
||||
static void postgresReScanForeignScan(ForeignScanState *node);
|
||||
static void postgresEndForeignScan(ForeignScanState *node);
|
||||
static void postgresAddForeignUpdateTargets(Query *parsetree,
|
||||
RangeTblEntry *target_rte,
|
||||
Relation target_relation);
|
||||
RangeTblEntry *target_rte,
|
||||
Relation target_relation);
|
||||
static List *postgresPlanForeignModify(PlannerInfo *root,
|
||||
ModifyTable *plan,
|
||||
Index resultRelation,
|
||||
int subplan_index);
|
||||
ModifyTable *plan,
|
||||
Index resultRelation,
|
||||
int subplan_index);
|
||||
static void postgresBeginForeignModify(ModifyTableState *mtstate,
|
||||
ResultRelInfo *resultRelInfo,
|
||||
List *fdw_private,
|
||||
int subplan_index,
|
||||
int eflags);
|
||||
ResultRelInfo *resultRelInfo,
|
||||
List *fdw_private,
|
||||
int subplan_index,
|
||||
int eflags);
|
||||
static TupleTableSlot *postgresExecForeignInsert(EState *estate,
|
||||
ResultRelInfo *resultRelInfo,
|
||||
TupleTableSlot *slot,
|
||||
TupleTableSlot *planSlot);
|
||||
ResultRelInfo *resultRelInfo,
|
||||
TupleTableSlot *slot,
|
||||
TupleTableSlot *planSlot);
|
||||
static TupleTableSlot *postgresExecForeignUpdate(EState *estate,
|
||||
ResultRelInfo *resultRelInfo,
|
||||
TupleTableSlot *slot,
|
||||
TupleTableSlot *planSlot);
|
||||
ResultRelInfo *resultRelInfo,
|
||||
TupleTableSlot *slot,
|
||||
TupleTableSlot *planSlot);
|
||||
static TupleTableSlot *postgresExecForeignDelete(EState *estate,
|
||||
ResultRelInfo *resultRelInfo,
|
||||
TupleTableSlot *slot,
|
||||
TupleTableSlot *planSlot);
|
||||
ResultRelInfo *resultRelInfo,
|
||||
TupleTableSlot *slot,
|
||||
TupleTableSlot *planSlot);
|
||||
static void postgresEndForeignModify(EState *estate,
|
||||
ResultRelInfo *resultRelInfo);
|
||||
ResultRelInfo *resultRelInfo);
|
||||
static void postgresBeginForeignInsert(ModifyTableState *mtstate,
|
||||
ResultRelInfo *resultRelInfo);
|
||||
ResultRelInfo *resultRelInfo);
|
||||
static void postgresEndForeignInsert(EState *estate,
|
||||
ResultRelInfo *resultRelInfo);
|
||||
ResultRelInfo *resultRelInfo);
|
||||
static int postgresIsForeignRelUpdatable(Relation rel);
|
||||
static bool postgresPlanDirectModify(PlannerInfo *root,
|
||||
ModifyTable *plan,
|
||||
Index resultRelation,
|
||||
int subplan_index);
|
||||
ModifyTable *plan,
|
||||
Index resultRelation,
|
||||
int subplan_index);
|
||||
static void postgresBeginDirectModify(ForeignScanState *node, int eflags);
|
||||
static TupleTableSlot *postgresIterateDirectModify(ForeignScanState *node);
|
||||
static void postgresEndDirectModify(ForeignScanState *node);
|
||||
static void postgresExplainForeignScan(ForeignScanState *node,
|
||||
ExplainState *es);
|
||||
ExplainState *es);
|
||||
static void postgresExplainForeignModify(ModifyTableState *mtstate,
|
||||
ResultRelInfo *rinfo,
|
||||
List *fdw_private,
|
||||
int subplan_index,
|
||||
ExplainState *es);
|
||||
ResultRelInfo *rinfo,
|
||||
List *fdw_private,
|
||||
int subplan_index,
|
||||
ExplainState *es);
|
||||
static void postgresExplainDirectModify(ForeignScanState *node,
|
||||
ExplainState *es);
|
||||
ExplainState *es);
|
||||
static bool postgresAnalyzeForeignTable(Relation relation,
|
||||
AcquireSampleRowsFunc *func,
|
||||
BlockNumber *totalpages);
|
||||
AcquireSampleRowsFunc *func,
|
||||
BlockNumber *totalpages);
|
||||
static List *postgresImportForeignSchema(ImportForeignSchemaStmt *stmt,
|
||||
Oid serverOid);
|
||||
Oid serverOid);
|
||||
static void postgresGetForeignJoinPaths(PlannerInfo *root,
|
||||
RelOptInfo *joinrel,
|
||||
RelOptInfo *outerrel,
|
||||
RelOptInfo *innerrel,
|
||||
JoinType jointype,
|
||||
JoinPathExtraData *extra);
|
||||
RelOptInfo *joinrel,
|
||||
RelOptInfo *outerrel,
|
||||
RelOptInfo *innerrel,
|
||||
JoinType jointype,
|
||||
JoinPathExtraData *extra);
|
||||
static bool postgresRecheckForeignScan(ForeignScanState *node,
|
||||
TupleTableSlot *slot);
|
||||
TupleTableSlot *slot);
|
||||
static void postgresGetForeignUpperPaths(PlannerInfo *root,
|
||||
UpperRelationKind stage,
|
||||
RelOptInfo *input_rel,
|
||||
RelOptInfo *output_rel,
|
||||
void *extra);
|
||||
UpperRelationKind stage,
|
||||
RelOptInfo *input_rel,
|
||||
RelOptInfo *output_rel,
|
||||
void *extra);
|
||||
|
||||
/*
|
||||
* Helper functions
|
||||
*/
|
||||
static void estimate_path_cost_size(PlannerInfo *root,
|
||||
RelOptInfo *foreignrel,
|
||||
List *param_join_conds,
|
||||
List *pathkeys,
|
||||
PgFdwPathExtraData *fpextra,
|
||||
double *p_rows, int *p_width,
|
||||
Cost *p_startup_cost, Cost *p_total_cost);
|
||||
RelOptInfo *foreignrel,
|
||||
List *param_join_conds,
|
||||
List *pathkeys,
|
||||
PgFdwPathExtraData *fpextra,
|
||||
double *p_rows, int *p_width,
|
||||
Cost *p_startup_cost, Cost *p_total_cost);
|
||||
static void get_remote_estimate(const char *sql,
|
||||
PGconn *conn,
|
||||
double *rows,
|
||||
int *width,
|
||||
Cost *startup_cost,
|
||||
Cost *total_cost);
|
||||
PGconn *conn,
|
||||
double *rows,
|
||||
int *width,
|
||||
Cost *startup_cost,
|
||||
Cost *total_cost);
|
||||
static void adjust_foreign_grouping_path_cost(PlannerInfo *root,
|
||||
List *pathkeys,
|
||||
double retrieved_rows,
|
||||
double width,
|
||||
double limit_tuples,
|
||||
Cost *p_startup_cost,
|
||||
Cost *p_run_cost);
|
||||
List *pathkeys,
|
||||
double retrieved_rows,
|
||||
double width,
|
||||
double limit_tuples,
|
||||
Cost *p_startup_cost,
|
||||
Cost *p_run_cost);
|
||||
static bool ec_member_matches_foreign(PlannerInfo *root, RelOptInfo *rel,
|
||||
EquivalenceClass *ec, EquivalenceMember *em,
|
||||
void *arg);
|
||||
EquivalenceClass *ec, EquivalenceMember *em,
|
||||
void *arg);
|
||||
static void create_cursor(ForeignScanState *node);
|
||||
static void fetch_more_data(ForeignScanState *node);
|
||||
static void close_cursor(PGconn *conn, unsigned int cursor_number);
|
||||
static PgFdwModifyState *create_foreign_modify(EState *estate,
|
||||
RangeTblEntry *rte,
|
||||
ResultRelInfo *resultRelInfo,
|
||||
CmdType operation,
|
||||
Plan *subplan,
|
||||
char *query,
|
||||
List *target_attrs,
|
||||
bool has_returning,
|
||||
List *retrieved_attrs);
|
||||
RangeTblEntry *rte,
|
||||
ResultRelInfo *resultRelInfo,
|
||||
CmdType operation,
|
||||
Plan *subplan,
|
||||
char *query,
|
||||
List *target_attrs,
|
||||
bool has_returning,
|
||||
List *retrieved_attrs);
|
||||
static TupleTableSlot *execute_foreign_modify(EState *estate,
|
||||
ResultRelInfo *resultRelInfo,
|
||||
CmdType operation,
|
||||
TupleTableSlot *slot,
|
||||
TupleTableSlot *planSlot);
|
||||
ResultRelInfo *resultRelInfo,
|
||||
CmdType operation,
|
||||
TupleTableSlot *slot,
|
||||
TupleTableSlot *planSlot);
|
||||
static void prepare_foreign_modify(PgFdwModifyState *fmstate);
|
||||
static const char **convert_prep_stmt_params(PgFdwModifyState *fmstate,
|
||||
ItemPointer tupleid,
|
||||
TupleTableSlot *slot);
|
||||
ItemPointer tupleid,
|
||||
TupleTableSlot *slot);
|
||||
static void store_returning_result(PgFdwModifyState *fmstate,
|
||||
TupleTableSlot *slot, PGresult *res);
|
||||
TupleTableSlot *slot, PGresult *res);
|
||||
static void finish_foreign_modify(PgFdwModifyState *fmstate);
|
||||
static List *build_remote_returning(Index rtindex, Relation rel,
|
||||
List *returningList);
|
||||
List *returningList);
|
||||
static void rebuild_fdw_scan_tlist(ForeignScan *fscan, List *tlist);
|
||||
static void execute_dml_stmt(ForeignScanState *node);
|
||||
static TupleTableSlot *get_returning_data(ForeignScanState *node);
|
||||
static void init_returning_filter(PgFdwDirectModifyState *dmstate,
|
||||
List *fdw_scan_tlist,
|
||||
Index rtindex);
|
||||
List *fdw_scan_tlist,
|
||||
Index rtindex);
|
||||
static TupleTableSlot *apply_returning_filter(PgFdwDirectModifyState *dmstate,
|
||||
TupleTableSlot *slot,
|
||||
EState *estate);
|
||||
TupleTableSlot *slot,
|
||||
EState *estate);
|
||||
static void prepare_query_params(PlanState *node,
|
||||
List *fdw_exprs,
|
||||
int numParams,
|
||||
FmgrInfo **param_flinfo,
|
||||
List **param_exprs,
|
||||
const char ***param_values);
|
||||
List *fdw_exprs,
|
||||
int numParams,
|
||||
FmgrInfo **param_flinfo,
|
||||
List **param_exprs,
|
||||
const char ***param_values);
|
||||
static void process_query_params(ExprContext *econtext,
|
||||
FmgrInfo *param_flinfo,
|
||||
List *param_exprs,
|
||||
const char **param_values);
|
||||
static int postgresAcquireSampleRowsFunc(Relation relation, int elevel,
|
||||
HeapTuple *rows, int targrows,
|
||||
double *totalrows,
|
||||
double *totaldeadrows);
|
||||
FmgrInfo *param_flinfo,
|
||||
List *param_exprs,
|
||||
const char **param_values);
|
||||
static int postgresAcquireSampleRowsFunc(Relation relation, int elevel,
|
||||
HeapTuple *rows, int targrows,
|
||||
double *totalrows,
|
||||
double *totaldeadrows);
|
||||
static void analyze_row_processor(PGresult *res, int row,
|
||||
PgFdwAnalyzeState *astate);
|
||||
PgFdwAnalyzeState *astate);
|
||||
static HeapTuple make_tuple_from_result_row(PGresult *res,
|
||||
int row,
|
||||
Relation rel,
|
||||
AttInMetadata *attinmeta,
|
||||
List *retrieved_attrs,
|
||||
ForeignScanState *fsstate,
|
||||
MemoryContext temp_context);
|
||||
int row,
|
||||
Relation rel,
|
||||
AttInMetadata *attinmeta,
|
||||
List *retrieved_attrs,
|
||||
ForeignScanState *fsstate,
|
||||
MemoryContext temp_context);
|
||||
static void conversion_error_callback(void *arg);
|
||||
static bool foreign_join_ok(PlannerInfo *root, RelOptInfo *joinrel,
|
||||
JoinType jointype, RelOptInfo *outerrel, RelOptInfo *innerrel,
|
||||
JoinPathExtraData *extra);
|
||||
JoinType jointype, RelOptInfo *outerrel, RelOptInfo *innerrel,
|
||||
JoinPathExtraData *extra);
|
||||
static bool foreign_grouping_ok(PlannerInfo *root, RelOptInfo *grouped_rel,
|
||||
Node *havingQual);
|
||||
Node *havingQual);
|
||||
static List *get_useful_pathkeys_for_relation(PlannerInfo *root,
|
||||
RelOptInfo *rel);
|
||||
RelOptInfo *rel);
|
||||
static List *get_useful_ecs_for_relation(PlannerInfo *root, RelOptInfo *rel);
|
||||
static void add_paths_with_pathkeys_for_rel(PlannerInfo *root, RelOptInfo *rel,
|
||||
Path *epq_path);
|
||||
Path *epq_path);
|
||||
static void add_foreign_grouping_paths(PlannerInfo *root,
|
||||
RelOptInfo *input_rel,
|
||||
RelOptInfo *grouped_rel,
|
||||
GroupPathExtraData *extra);
|
||||
RelOptInfo *input_rel,
|
||||
RelOptInfo *grouped_rel,
|
||||
GroupPathExtraData *extra);
|
||||
static void add_foreign_ordered_paths(PlannerInfo *root,
|
||||
RelOptInfo *input_rel,
|
||||
RelOptInfo *ordered_rel);
|
||||
RelOptInfo *input_rel,
|
||||
RelOptInfo *ordered_rel);
|
||||
static void add_foreign_final_paths(PlannerInfo *root,
|
||||
RelOptInfo *input_rel,
|
||||
RelOptInfo *final_rel,
|
||||
FinalPathExtraData *extra);
|
||||
RelOptInfo *input_rel,
|
||||
RelOptInfo *final_rel,
|
||||
FinalPathExtraData *extra);
|
||||
static void apply_server_options(PgFdwRelationInfo *fpinfo);
|
||||
static void apply_table_options(PgFdwRelationInfo *fpinfo);
|
||||
static void merge_fdw_options(PgFdwRelationInfo *fpinfo,
|
||||
const PgFdwRelationInfo *fpinfo_o,
|
||||
const PgFdwRelationInfo *fpinfo_i);
|
||||
const PgFdwRelationInfo *fpinfo_o,
|
||||
const PgFdwRelationInfo *fpinfo_i);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -128,72 +128,72 @@ extern unsigned int GetPrepStmtNumber(PGconn *conn);
|
||||
extern PGresult *pgfdw_get_result(PGconn *conn, const char *query);
|
||||
extern PGresult *pgfdw_exec_query(PGconn *conn, const char *query);
|
||||
extern void pgfdw_report_error(int elevel, PGresult *res, PGconn *conn,
|
||||
bool clear, const char *sql);
|
||||
bool clear, const char *sql);
|
||||
|
||||
/* in option.c */
|
||||
extern int ExtractConnectionOptions(List *defelems,
|
||||
const char **keywords,
|
||||
const char **values);
|
||||
extern int ExtractConnectionOptions(List *defelems,
|
||||
const char **keywords,
|
||||
const char **values);
|
||||
extern List *ExtractExtensionList(const char *extensionsString,
|
||||
bool warnOnMissing);
|
||||
bool warnOnMissing);
|
||||
|
||||
/* in deparse.c */
|
||||
extern void classifyConditions(PlannerInfo *root,
|
||||
RelOptInfo *baserel,
|
||||
List *input_conds,
|
||||
List **remote_conds,
|
||||
List **local_conds);
|
||||
RelOptInfo *baserel,
|
||||
List *input_conds,
|
||||
List **remote_conds,
|
||||
List **local_conds);
|
||||
extern bool is_foreign_expr(PlannerInfo *root,
|
||||
RelOptInfo *baserel,
|
||||
Expr *expr);
|
||||
RelOptInfo *baserel,
|
||||
Expr *expr);
|
||||
extern bool is_foreign_param(PlannerInfo *root,
|
||||
RelOptInfo *baserel,
|
||||
Expr *expr);
|
||||
RelOptInfo *baserel,
|
||||
Expr *expr);
|
||||
extern void deparseInsertSql(StringInfo buf, RangeTblEntry *rte,
|
||||
Index rtindex, Relation rel,
|
||||
List *targetAttrs, bool doNothing,
|
||||
List *withCheckOptionList, List *returningList,
|
||||
List **retrieved_attrs);
|
||||
Index rtindex, Relation rel,
|
||||
List *targetAttrs, bool doNothing,
|
||||
List *withCheckOptionList, List *returningList,
|
||||
List **retrieved_attrs);
|
||||
extern void deparseUpdateSql(StringInfo buf, RangeTblEntry *rte,
|
||||
Index rtindex, Relation rel,
|
||||
List *targetAttrs,
|
||||
List *withCheckOptionList, List *returningList,
|
||||
List **retrieved_attrs);
|
||||
Index rtindex, Relation rel,
|
||||
List *targetAttrs,
|
||||
List *withCheckOptionList, List *returningList,
|
||||
List **retrieved_attrs);
|
||||
extern void deparseDirectUpdateSql(StringInfo buf, PlannerInfo *root,
|
||||
Index rtindex, Relation rel,
|
||||
RelOptInfo *foreignrel,
|
||||
List *targetlist,
|
||||
List *targetAttrs,
|
||||
List *remote_conds,
|
||||
List **params_list,
|
||||
List *returningList,
|
||||
List **retrieved_attrs);
|
||||
Index rtindex, Relation rel,
|
||||
RelOptInfo *foreignrel,
|
||||
List *targetlist,
|
||||
List *targetAttrs,
|
||||
List *remote_conds,
|
||||
List **params_list,
|
||||
List *returningList,
|
||||
List **retrieved_attrs);
|
||||
extern void deparseDeleteSql(StringInfo buf, RangeTblEntry *rte,
|
||||
Index rtindex, Relation rel,
|
||||
List *returningList,
|
||||
List **retrieved_attrs);
|
||||
Index rtindex, Relation rel,
|
||||
List *returningList,
|
||||
List **retrieved_attrs);
|
||||
extern void deparseDirectDeleteSql(StringInfo buf, PlannerInfo *root,
|
||||
Index rtindex, Relation rel,
|
||||
RelOptInfo *foreignrel,
|
||||
List *remote_conds,
|
||||
List **params_list,
|
||||
List *returningList,
|
||||
List **retrieved_attrs);
|
||||
Index rtindex, Relation rel,
|
||||
RelOptInfo *foreignrel,
|
||||
List *remote_conds,
|
||||
List **params_list,
|
||||
List *returningList,
|
||||
List **retrieved_attrs);
|
||||
extern void deparseAnalyzeSizeSql(StringInfo buf, Relation rel);
|
||||
extern void deparseAnalyzeSql(StringInfo buf, Relation rel,
|
||||
List **retrieved_attrs);
|
||||
List **retrieved_attrs);
|
||||
extern void deparseStringLiteral(StringInfo buf, const char *val);
|
||||
extern Expr *find_em_expr_for_rel(EquivalenceClass *ec, RelOptInfo *rel);
|
||||
extern Expr *find_em_expr_for_input_target(PlannerInfo *root,
|
||||
EquivalenceClass *ec,
|
||||
PathTarget *target);
|
||||
EquivalenceClass *ec,
|
||||
PathTarget *target);
|
||||
extern List *build_tlist_to_deparse(RelOptInfo *foreignrel);
|
||||
extern void deparseSelectStmtForRel(StringInfo buf, PlannerInfo *root,
|
||||
RelOptInfo *foreignrel, List *tlist,
|
||||
List *remote_conds, List *pathkeys,
|
||||
bool has_final_sort, bool has_limit,
|
||||
bool is_subquery,
|
||||
List **retrieved_attrs, List **params_list);
|
||||
RelOptInfo *foreignrel, List *tlist,
|
||||
List *remote_conds, List *pathkeys,
|
||||
bool has_final_sort, bool has_limit,
|
||||
bool is_subquery,
|
||||
List **retrieved_attrs, List **params_list);
|
||||
extern const char *get_jointype_name(JoinType jointype);
|
||||
|
||||
/* in shippable.c */
|
||||
|
Reference in New Issue
Block a user