| From: | jian he <jian(dot)universality(at)gmail(dot)com> |
|---|---|
| To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: support fast default for domain with constraints |
| Date: | 2026-01-26 07:52:16 |
| Message-ID: | CACJufxG-NQmEutUnsA3q1RV1iT5MWpaj3MSOH4aVo_UNZUA86g@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, Sep 1, 2025 at 2:27 PM jian he <jian(dot)universality(at)gmail(dot)com> wrote:
>
> summary of the attached v7.
> v7-0001, v7-00002: preparatory patch.
> v7-0003 adds fast default support for ALTER TABLE ADD COLUMN when the domain has
> non-volatile constraints.
> A table rewrite is still required for domains with volatile constraints.
>
> v7-0004 skip table rewrite (table scan only) for ALTER TABLE ADD
> COLUMN with domains has volatile constraints.
>
Hi.
rebase, and further simplified.
maybe we could perform a table scan for ALTER TABLE ADD COLUMN when the domain
has volatile constraints like v7-0004, avoiding a table rewrite.
However, this approach
feels inelegant, so I do not plan to pursue it.
So, the fast default now applies to domains with non-volatile constraint
expressions only.
Regarding the prior discussion about empty table behavior. This patch is
consistent with the master: not throwing an error if the default would fail the
domain constraints.
| Attachment | Content-Type | Size |
|---|---|---|
| v8-0002-add-function-DomainHaveVolatileConstraints.patch | text/x-patch | 2.9 KB |
| v8-0001-Enable-soft-error-handling-in-ExecPrepareExpr-and-ExecInitExpr.patch | text/x-patch | 3.2 KB |
| v8-0003-fast-default-for-domain-with-constraints.patch | text/x-patch | 11.1 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Richard Guo | 2026-01-26 08:00:08 | Re: Optimize IS DISTINCT FROM with non-nullable inputs |
| Previous Message | Amit Langote | 2026-01-26 07:47:31 | Re: unnecessary executor overheads around seqscans |