Re: support fast default for domain with constraints
jian he <jian.universality@gmail.com>
From: jian he <jian.universality@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-03-06T03:04:50Z
Lists: pgsql-hackers
Attachments
- v3-0001-soft-error-variant-of-ExecPrepareExpr-ExecInitExp.patch (text/x-patch) patch v3-0001
- v3-0002-add-function-DomainHaveVolatileConstraints.patch (text/x-patch) patch v3-0002
- v3-0003-fast-default-for-domain-with-constraints.patch (text/x-patch) patch v3-0003
hi. rearrange the patch. v3-0001 and v3-0002 is preparare patches. v3-0001 add function: ExecPrepareExprSafe and ExecInitExprSafe. v3-0002 add function: DomainHaveVolatileConstraints v3-0003 tests and apply fast default for domain with constraints. v3-0003 table with empty rows aligned with master behavior. also no table rewrite if the domain has volatile check constraints, so less surprising behavior.
Commits
-
Enable fast default for domains with non-volatile constraints
- a0b6ef29a518 19 (unreleased) landed
-
Extend DomainHasConstraints() to optionally check constraint volatility
- 487cf2cbd2f5 19 (unreleased) landed
-
Restrict virtual columns to use built-in functions and types
- 0cd69b3d7ef3 18.0 cited
-
Replace EEOP_DONE with special steps for return/no return
- 8dd7c7cd0a26 18.0 cited
-
Add soft error handling to some expression nodes
- aaaf9449ec6b 17.0 cited