aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/analyze.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser/analyze.c')
-rw-r--r--src/backend/parser/analyze.c33
1 files changed, 0 insertions, 33 deletions
diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c
index ecd6a8bae7d..8462e915584 100644
--- a/src/backend/parser/analyze.c
+++ b/src/backend/parser/analyze.c
@@ -2287,7 +2287,6 @@ transformUpdateTargetList(ParseState *pstate, List *origTlist)
RangeTblEntry *target_rte;
ListCell *orig_tl;
ListCell *tl;
- TupleDesc tupdesc = pstate->p_target_relation->rd_att;
tlist = transformTargetList(pstate, origTlist,
EXPR_KIND_UPDATE_SOURCE);
@@ -2346,42 +2345,10 @@ transformUpdateTargetList(ParseState *pstate, List *origTlist)
if (orig_tl != NULL)
elog(ERROR, "UPDATE target count mismatch --- internal error");
- fill_extraUpdatedCols(target_rte, tupdesc);
-
return tlist;
}
/*
- * Record in extraUpdatedCols generated columns referencing updated base
- * columns.
- */
-void
-fill_extraUpdatedCols(RangeTblEntry *target_rte, TupleDesc tupdesc)
-{
- if (tupdesc->constr &&
- tupdesc->constr->has_generated_stored)
- {
- for (int i = 0; i < tupdesc->constr->num_defval; i++)
- {
- AttrDefault defval = tupdesc->constr->defval[i];
- Node *expr;
- Bitmapset *attrs_used = NULL;
-
- /* skip if not generated column */
- if (!TupleDescAttr(tupdesc, defval.adnum - 1)->attgenerated)
- continue;
-
- expr = stringToNode(defval.adbin);
- pull_varattnos(expr, 1, &attrs_used);
-
- if (bms_overlap(target_rte->updatedCols, attrs_used))
- target_rte->extraUpdatedCols = bms_add_member(target_rte->extraUpdatedCols,
- defval.adnum - FirstLowInvalidHeapAttributeNumber);
- }
- }
-}
-
-/*
* transformReturningList -
* handle a RETURNING clause in INSERT/UPDATE/DELETE
*/