|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/table.h"#include "nodes/makefuncs.h"#include "optimizer/appendinfo.h"#include "optimizer/optimizer.h"#include "optimizer/prep.h"#include "optimizer/tlist.h"#include "parser/parse_coerce.h"#include "parser/parsetree.h"#include "utils/lsyscache.h"#include "utils/rel.h"
Go to the source code of this file.
Functions | |
| static List * | expand_insert_targetlist (PlannerInfo *root, List *tlist, Relation rel) |
| void | preprocess_targetlist (PlannerInfo *root) |
| List * | extract_update_targetlist_colnos (List *tlist) |
| PlanRowMark * | get_plan_rowmark (List *rowmarks, Index rtindex) |
|
static |
Definition at line 382 of file preptlist.c.
References coerce_null_to_domain(), elog, ERROR, eval_const_expressions(), flatCopyTargetEntry(), getBaseTypeAndTypmod(), InvalidOid, IsA, lappend(), lfirst, list_head(), lnext(), makeConst(), makeTargetEntry(), NameStr, NIL, pstrdup(), RelationData::rd_att, RelationGetNumberOfAttributes, TargetEntry::resno, root, and TupleDescAttr().
Referenced by preprocess_targetlist().
Definition at line 348 of file preptlist.c.
References lappend_int(), lfirst, NIL, and TargetEntry::resno.
Referenced by make_modifytable(), and preprocess_targetlist().
| PlanRowMark * get_plan_rowmark | ( | List * | rowmarks, |
| Index | rtindex | ||
| ) |
Definition at line 526 of file preptlist.c.
References lfirst, and PlanRowMark::rti.
Referenced by check_index_predicates(), deparseLockingClause(), and expand_inherited_rtentry().
| void preprocess_targetlist | ( | PlannerInfo * | root | ) |
Definition at line 64 of file preptlist.c.
References generate_unaccent_rules::action, add_row_identity_columns(), PlanRowMark::allMarkTypes, Assert(), CMD_DELETE, CMD_INSERT, CMD_MERGE, CMD_SELECT, CMD_UPDATE, elog, ERROR, expand_insert_targetlist(), extract_update_targetlist_colnos(), RangeTblEntry::inh, InvalidOid, IsA, PlanRowMark::isParent, lappend(), lfirst, list_concat_copy(), list_free(), list_length(), makeTargetEntry(), makeVar(), makeWholeRowVar(), NoLock, parse(), PlanRowMark::prti, pstrdup(), pull_var_clause(), PVC_INCLUDE_PLACEHOLDERS, PVC_RECURSE_AGGREGATES, PVC_RECURSE_WINDOWFUNCS, root, ROW_MARK_COPY, PlanRowMark::rowmarkId, rt_fetch, RTE_RELATION, RangeTblEntry::rtekind, PlanRowMark::rti, SelfItemPointerAttributeNumber, snprintf, table_close(), table_open(), TableOidAttributeNumber, tlist_member(), and Var::varno.
Referenced by grouping_planner().