Re: support virtual generated column not null constraint

From: Navneet Kumar <thanit3111(at)gmail(dot)com>
To: jian he <jian(dot)universality(at)gmail(dot)com>
Cc: ego alter <xunengzhou(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: support virtual generated column not null constraint
Date: 2025-03-07 18:09:34
Message-ID: CANzA6sqsVeN-p8dqtM7v4376neOE74CDLfZKwvWG7zb7a+btZQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>
> This scenario fails
> 1. CREATE TABLE person (
> id INT GENERATED BY DEFAULT AS IDENTITY,
> first_name VARCHAR(50) NOT NULL,
> last_name VARCHAR(50) NOT NULL
> );
>
> 2. INSERT INTO person (first_name, last_name)
> VALUES ('first', 'last');
>
> 3. ALTER TABLE person
> ADD COLUMN full_name VARCHAR(100) GENERATED ALWAYS AS (first_name || ' '
> || last_name) VIRTUAL;
>

Forgot to mention NOT NULL constraint in above query.

3. ALTER TABLE person
ADD COLUMN full_name VARCHAR(100) NOT NULL GENERATED ALWAYS AS (first_name
|| ' ' || last_name) VIRTUAL;

ERROR: column "full_name" of relation "person" contains null values

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Álvaro Herrera 2025-03-07 18:20:34 Re: pgsql: reindexdb: Add the index-level REINDEX with multiple jobs
Previous Message Tom Lane 2025-03-07 17:57:25 Re: Commitfest app release on Feb 17 with many improvements