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)