PostgreSQL Source Code
git master
|
#include "postgres.h"
#include "access/sysattr.h"
#include "access/table.h"
#include "catalog/pg_type.h"
#include "nodes/makefuncs.h"
#include "optimizer/optimizer.h"
#include "optimizer/prep.h"
#include "optimizer/tlist.h"
#include "parser/parse_coerce.h"
#include "parser/parsetree.h"
#include "rewrite/rewriteHandler.h"
#include "utils/rel.h"
Go to the source code of this file.
Functions | |
static List * | expand_targetlist (List *tlist, int command_type, Index result_relation, Relation rel) |
List * | preprocess_targetlist (PlannerInfo *root) |
PlanRowMark * | get_plan_rowmark (List *rowmarks, Index rtindex) |
|
static |
Definition at line 256 of file preptlist.c.
References CMD_INSERT, CMD_UPDATE, COERCE_IMPLICIT_CAST, coerce_to_domain(), COERCION_IMPLICIT, elog, ERROR, flatCopyTargetEntry(), InvalidOid, lappend(), lfirst, list_head(), lnext(), makeConst(), makeTargetEntry(), makeVar(), NameStr, NIL, pstrdup(), RelationData::rd_att, RelationGetNumberOfAttributes, TargetEntry::resjunk, TargetEntry::resno, and TupleDescAttr.
Referenced by preprocess_targetlist().
PlanRowMark* get_plan_rowmark | ( | List * | rowmarks, |
Index | rtindex | ||
) |
Definition at line 425 of file preptlist.c.
References lfirst, and PlanRowMark::rti.
Referenced by check_index_predicates(), deparseLockingClause(), and expand_inherited_rtentry().
List* preprocess_targetlist | ( | PlannerInfo * | root | ) |
Definition at line 69 of file preptlist.c.
References PlanRowMark::allMarkTypes, Assert, CMD_DELETE, CMD_INSERT, CMD_SELECT, CMD_UPDATE, Query::commandType, elog, ERROR, expand_targetlist(), InvalidOid, IsA, PlanRowMark::isParent, lappend(), lfirst, list_free(), list_length(), makeTargetEntry(), makeVar(), makeWholeRowVar(), NoLock, Query::onConflict, OnConflictExpr::onConflictSet, parse(), PlannerInfo::parse, PlanRowMark::prti, pstrdup(), pull_var_clause(), PVC_INCLUDE_PLACEHOLDERS, PVC_RECURSE_AGGREGATES, PVC_RECURSE_WINDOWFUNCS, RangeTblEntry::relid, Query::resultRelation, Query::returningList, rewriteTargetListUD(), ROW_MARK_COPY, PlanRowMark::rowmarkId, PlannerInfo::rowMarks, rt_fetch, Query::rtable, RTE_RELATION, RangeTblEntry::rtekind, PlanRowMark::rti, SelfItemPointerAttributeNumber, snprintf, table_close(), table_open(), TableOidAttributeNumber, Query::targetList, tlist_member(), and Var::varno.
Referenced by grouping_planner(), and inheritance_planner().