Re: Virtual generated columns
Peter Eisentraut <peter@eisentraut.org>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Expand virtual generated columns for ALTER COLUMN TYPE
- 5069fef1cfae 18.0 landed
-
Eliminate code duplication in replace_rte_variables callbacks
- 363a6e8c6fcf 18.0 landed
-
Expand virtual generated columns in the planner
- 1e4351af329f 18.0 landed
-
Virtual generated columns
- 83ea6c54025b 18.0 landed
-
Additional tests for stored generated columns
- 41084409f635 18.0 landed
-
Improve generated_stored test
- 44b61efb7928 18.0 landed
- 86749ea3b766 18.0 landed
-
Fix handling of CREATE DOMAIN with GENERATED constraint syntax
- 84a67725cd11 18.0 landed
-
Add pg_constraint rows for not-null constraints
- 14e87ffa5c54 18.0 cited
-
Put generated_stored test objects in a schema
- 894be11adfa6 18.0 landed
-
Rename regress test generated to generated_stored
- b9ed4969250d 18.0 landed
-
Small code simplification
- 7ff9afbbd1df 18.0 landed
-
Remove useless code
- e26d313bad92 18.0 landed
-
Remove useless initializations
- da2aeba8f533 18.0 landed
-
doc: Clarify that pg_attrdef also stores generation expressions
- da486d360103 18.0 landed
-
Clean out column-level pg_init_privs entries when dropping tables.
- 76618097a6c0 17.0 cited
-
Re-implement the ereport() macro using __VA_ARGS__.
- e3a87b4991cc 13.0 cited
Attachments
- v13-0001-Virtual-generated-columns.patch (text/plain) patch v13-0001
On 15.01.25 20:37, Peter Eisentraut wrote: > On 15.01.25 15:12, Dean Rasheed wrote: >> On Tue, 14 Jan 2025 at 13:37, Peter Eisentraut <peter@eisentraut.org> >> wrote: >>> >>> Here is a new patch with that fixed and also a few >>> tweaks suggested by Jian. >>> >> >> I'm hoping to push my RETURNING OLD/NEW patch [1] soon, so I thought >> that I would check how it works together with this patch. The good >> news is that AFAICS everything just works, and it's possible to return >> old/new virtual generated columns in DML queries as expected. >> >> It did require a minor update, because my patch adds a new >> "result_relation" argument to ReplaceVarsFromTargetList() -- needed in >> DML queries because, when propagating a Var's old/new >> varreturningtype, replacement Vars need to be handled differently >> depending on whether or not they refer to the result relation. So that >> affects expand_generated_columns_internal(), when called from >> fireRIRrules(). OTOH, from expand_generated_columns_in_expr() it's OK >> to just pass 0 as the result relation index, because there won't be >> any old/new Vars in an expression that's not part of a DML query. >> >> Attached is the delta patch I used to handle this, along with a couple >> of simple test cases. It doesn't really matter which feature makes it >> in first, but the one that comes second will need to do something like >> this. > > Ok, I'll wait if you want to go ahead with yours soon. Here is an updated patch that integrates the above changes and also makes some adjustments now that the logical replication configuration questions are resolved. I think this is complete now. But I'm seeing mysterious CI failures that have me stumped. For example: https://cirrus-ci.com/task/5924251028422656 I have seen this particular pgbench test failure sporadically but several times, and I have not seen it anywhere without this patch, and never locally. The macOS task on the cfbot CI is very flaky right now, so it's hard to get a good baseline. Also, it seems to me that this failing test could not possibly be further away from the code that the patch changes, so I'm thinking timing problems, but it only happens on the macOS task. Really weird.