Extend DomainHasConstraints() to optionally check constraint volatility Add an optional bool *has_volatile output parameter to DomainHasConstraints(). When non-NULL, the function checks whether any CHECK constraint contains a volatile expression. Callers that don't need this information pass NULL and get the same behavior as before.
This is needed by a subsequent commit that enables the fast default optimization for domains with non-volatile constraints: we can safely evaluate such constraints once at ALTER TABLE time, but volatile constraints require a full table rewrite. Author: Jian He <[email protected]> Reviewed-by: Tom Lane <[email protected]> Reviewed-by: Andrew Dunstan <[email protected]> Reviewed-by: Viktor Holmberg <[email protected]> Discussion: https://postgr.es/m/cacjufxe_+izbr1i49k_ahigpppwltji6km8nosc7fwvkdem...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/487cf2cbd2f5a32cf9756eb9bd6dbf9f3956c8b7 Modified Files -------------- src/backend/commands/copyfrom.c | 2 +- src/backend/commands/tablecmds.c | 4 ++-- src/backend/executor/execExpr.c | 2 +- src/backend/optimizer/util/clauses.c | 2 +- src/backend/parser/parse_expr.c | 2 +- src/backend/utils/cache/typcache.c | 27 +++++++++++++++++++++++++-- src/include/utils/typcache.h | 2 +- 7 files changed, 32 insertions(+), 9 deletions(-)
