On Thu, 8 Aug 2024 at 07:23, Peter Eisentraut <pe...@eisentraut.org> wrote: > > Thank you for your extensive testing. Here is a new patch set that has > fixed all the issues you have reported (MERGE, sublinks, statistics, > ANALYZE).
I had a quick look at this and found one issue, which is that it doesn't properly deal with virtual generated columns in wholerow attributes: CREATE TABLE foo(a int, a2 int GENERATED ALWAYS AS (a*2) VIRTUAL); INSERT INTO foo VALUES (1); SELECT foo FROM foo; foo ------ (1,) (1 row) Looking at the rewriter changes, it occurred to me that it could perhaps be done more simply using ReplaceVarsFromTargetList() for each RTE with virtual generated columns. That function already has the required wholerow handling code, so there'd be less code duplication. I think it might be better to do this from within fireRIRrules(), just after RLS policies are applied, so it wouldn't need to worry about CTEs and sublink subqueries. That would also make the hasGeneratedVirtual flags unnecessary, since we'd already only be doing the extra work for tables with virtual generated columns. That would eliminate possible bugs caused by failing to set those flags. Regards, Dean