Re: Virtual generated columns

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: Richard Guo <guofenglinux(at)gmail(dot)com>
Cc: Peter Eisentraut <peter(at)eisentraut(dot)org>, Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, jian he <jian(dot)universality(at)gmail(dot)com>, Zhang Mingli <zmlpostgres(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Virtual generated columns
Date: 2025-05-16 04:00:01
Message-ID: b5f96b24-ccac-47fd-9e20-14681b894f36@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Richard,

22.02.2025 16:55, Richard Guo wrote:
> create table t (a int, b int);
> create table vt (a int, b int generated always as (a * 2));
>
> insert into t values (1, 1);
> insert into vt values (1);
>
> # select 1 from t t1 where exists
> (select 1 from vt where exists
> (select t1.a from t t2 where vt.b = 2));
> ERROR: unexpected virtual generated column reference

I've discovered yet another way to trigger that error:
create table vt (a int, b int generated always as (a * 2), c int);
insert into vt values(1);
alter table vt alter column c type bigint using b + c;

ERROR:  XX000: unexpected virtual generated column reference
LOCATION:  CheckVarSlotCompatibility, execExprInterp.c:2410

Shouldn't this be expected/supported?

Best regards,
Alexander Lakhin
Neon (https://neon.tech)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniil Davydov 2025-05-16 05:10:10 Re: POC: Parallel processing of indexes in autovacuum
Previous Message David G. Johnston 2025-05-16 01:40:55 Re: doc: Make logical replication examples executable in bulk and legal sgml.