Re: Fix domain fast defaults on empty tables - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Fix domain fast defaults on empty tables
Date
Msg-id 219843CF-9B49-404A-838D-88D51902B978@iki.fi
Whole thread
In response to Fix domain fast defaults on empty tables  (Chao Li <li.evan.chao@gmail.com>)
List pgsql-hackers

On 5 June 2026 10:48:00 EEST, Chao Li <li.evan.chao@gmail.com> wrote:
>Hi,
>
>I tested "[a0b6ef29a] Enable fast default for domains with non-volatile constraints". After tracing some cases from
theregression tests, I came up with this test case and found a bug: 
>```
>evantest=# create domain d_div as int check (1 / (value - 1) > 0);
>CREATE DOMAIN
>evantest=# create table t (a int);
>CREATE TABLE
>evantest=# alter table t add column b d_div default 1;
>ERROR:  division by zero
>```
>
>It looks like errors inside the CHECK expression itself, such as the int4div division-by-zero in this test, are still
harderrors that can fail the ALTER TABLE command. 

It seems totally reasonable to get an error in that case. '1' is not a valid value for the datatype, whether or not
thereare any rows in the table. 

- Heikki



pgsql-hackers by date:

Previous
From: Rafia Sabih
Date:
Subject: Re: Bypassing cursors in postgres_fdw to enable parallel plans
Next
From: Quan Zongliang
Date:
Subject: Re: [PATCH] vacuumdb: Add --exclude-database option