On 5 June 2026 10:48:00 EEST, Chao Li <[email protected]> wrote:
>Hi,
>
>I tested "[a0b6ef29a] Enable fast default for domains with non-volatile
>constraints". After tracing some cases from the regression 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 hard errors 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 there are any rows in the table.
- Heikki