aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/nodes/parsenodes.h16
-rw-r--r--src/include/parser/analyze.h2
-rw-r--r--src/include/rewrite/rewriteHandler.h3
3 files changed, 13 insertions, 8 deletions
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index 60c2f454660..ff584f2955b 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -940,12 +940,16 @@ typedef struct PartitionCmd
*
* updatedCols is also used in some other places, for example, to determine
* which triggers to fire and in FDWs to know which changed columns they
- * need to ship off. Generated columns that are caused to be updated by an
- * update to a base column are collected in extraUpdatedCols. This is not
- * considered for permission checking, but it is useful in those places
- * that want to know the full set of columns being updated as opposed to
- * only the ones the user explicitly mentioned in the query. (There is
- * currently no need for an extraInsertedCols, but it could exist.)
+ * need to ship off.
+ *
+ * Generated columns that are caused to be updated by an update to a base
+ * column are listed in extraUpdatedCols. This is not considered for
+ * permission checking, but it is useful in those places that want to know
+ * the full set of columns being updated as opposed to only the ones the
+ * user explicitly mentioned in the query. (There is currently no need for
+ * an extraInsertedCols, but it could exist.) Note that extraUpdatedCols
+ * is populated during query rewrite, NOT in the parser, since generated
+ * columns could be added after a rule has been parsed and stored.
*
* securityQuals is a list of security barrier quals (boolean expressions),
* to be tested in the listed order before returning a row from the
diff --git a/src/include/parser/analyze.h b/src/include/parser/analyze.h
index 9d09a021419..d6a467a5728 100644
--- a/src/include/parser/analyze.h
+++ b/src/include/parser/analyze.h
@@ -46,6 +46,4 @@ extern void applyLockingClause(Query *qry, Index rtindex,
extern List *BuildOnConflictExcludedTargetlist(Relation targetrel,
Index exclRelIndex);
-extern void fill_extraUpdatedCols(RangeTblEntry *target_rte, TupleDesc tupdesc);
-
#endif /* ANALYZE_H */
diff --git a/src/include/rewrite/rewriteHandler.h b/src/include/rewrite/rewriteHandler.h
index eb2e7b1768a..a18211f4a23 100644
--- a/src/include/rewrite/rewriteHandler.h
+++ b/src/include/rewrite/rewriteHandler.h
@@ -26,6 +26,9 @@ extern Node *build_column_default(Relation rel, int attrno);
extern void rewriteTargetListUD(Query *parsetree, RangeTblEntry *target_rte,
Relation target_relation);
+extern void fill_extraUpdatedCols(RangeTblEntry *target_rte,
+ Relation target_relation);
+
extern Query *get_view_query(Relation view);
extern const char *view_query_is_auto_updatable(Query *viewquery,
bool check_cols);