greenplumn cdbmutate 源码

  • 2022-08-18
  • 浏览 (236)

greenplumn cdbmutate 代码

文件路径:/src/include/cdb/cdbmutate.h

/*-------------------------------------------------------------------------
 *
 * cdbmutate.h
 *	  definitions for cdbmutate.c utilities
 *
 * Portions Copyright (c) 2005-2008, Greenplum inc
 * Portions Copyright (c) 2012-Present VMware, Inc. or its affiliates.
 *
 *
 * IDENTIFICATION
 *	    src/include/cdb/cdbmutate.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef CDBMUTATE_H
#define CDBMUTATE_H

#include "nodes/execnodes.h"
#include "nodes/pathnodes.h"
#include "nodes/plannodes.h"
#include "optimizer/walkers.h"

extern Motion *make_union_motion(Plan *lefttree);
extern Motion *make_sorted_union_motion(PlannerInfo *root, Plan *lefttree, int numSortCols, AttrNumber *sortColIdx, Oid *sortOperators,
										Oid *collations, bool *nullsFirst);
extern Motion *make_hashed_motion(Plan *lefttree,
								  List *hashExpr,
								  List *hashOpfamilies,
								  int numHashSegments);

extern Motion *make_broadcast_motion(Plan *lefttree);

extern Plan *make_explicit_motion(PlannerInfo *root,
								  Plan *lefttree,
								  AttrNumber segidColIdx);

void 
cdbmutate_warn_ctid_without_segid(struct PlannerInfo *root, struct RelOptInfo *rel);

extern Plan *apply_shareinput_dag_to_tree(PlannerInfo *root, Plan *plan);
extern void collect_shareinput_producers(PlannerInfo *root, Plan *plan);
extern Plan *replace_shareinput_targetlists(PlannerInfo *root, Plan *plan);
extern Plan *apply_shareinput_xslice(Plan *plan, PlannerInfo *root);

extern List *getExprListFromTargetList(List *tlist, int numCols, AttrNumber *colIdx);
extern void remove_unused_initplans(Plan *plan, PlannerInfo *root);

extern int32 cdbhash_const_list(List *plConsts, int iSegments, Oid *hashfuncs);
extern Node *makeSegmentFilterExpr(int segid);

extern Node *exec_make_plan_constant(struct PlannedStmt *stmt, EState *estate,
						bool is_SRI, List **cursorPositions);
extern void remove_subquery_in_RTEs(Node *node);

extern Plan *cdbpathtoplan_create_sri_plan(RangeTblEntry *rte, PlannerInfo *subroot, Path *subpath, int createplan_flags);

extern bool contains_outer_params(Node *node, void *context);

#endif   /* CDBMUTATE_H */

相关信息

greenplumn 源码目录

相关文章

greenplumn cdbaocsam 源码

greenplumn cdbappendonlyam 源码

greenplumn cdbappendonlyblockdirectory 源码

greenplumn cdbappendonlystorage 源码

greenplumn cdbappendonlystorage_int 源码

greenplumn cdbappendonlystorageformat 源码

greenplumn cdbappendonlystoragelayer 源码

greenplumn cdbappendonlystorageread 源码

greenplumn cdbappendonlystoragewrite 源码

greenplumn cdbappendonlyxlog 源码

0  赞