Re: Virtual generated columns
Shlok Kyal <shlok.kyal.oss@gmail.com>
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
On Tue, 14 Jan 2025 at 19:08, Peter Eisentraut <peter@eisentraut.org> wrote: > > On 13.01.25 19:15, Dean Rasheed wrote: > > On Wed, 8 Jan 2025 at 16:14, Peter Eisentraut <peter@eisentraut.org> wrote: > >> > >> Here is a new patch version > > > > In expand_generated_columns_in_expr(): > > > > + RangeTblEntry *rte; > > + > > + rte = makeNode(RangeTblEntry); > > + rte->relid = RelationGetRelid(rel); > > + > > + node = expand_generated_columns_internal(node, rel, rt_index, rte); > > > > This dummy RTE is a bit too minimal. > > > > I think it should explicitly set rte->rtekind to RTE_RELATION, even > > though that's technically not necessary since RTE_RELATION is zero. > > > > In addition, it needs to set rte->eref, because expandRTE() (called > > from ReplaceVarsFromTargetList()) needs that when expanding whole-row > > variables. Here's a simple reproducer which crashes: > > > > CREATE TABLE foo (a int, b int GENERATED ALWAYS AS (a*2) VIRTUAL); > > ALTER TABLE foo ADD CONSTRAINT foo_check CHECK (foo IS NOT NULL); > > Thanks, fixed. Here is a new patch with that fixed and also a few > tweaks suggested by Jian. > > I've also added a patch that addresses logical replication. It > basically adds back some of the prohibitions against including generated > columns in publications that have been lifted, but this time only for > virtual generated columns, and amends the documentation. It doesn't > rename the publication option "publish_generated_columns", but maybe > that should be done. Hi Peter, I tried to apply the patch on HEAD but it is not applying. Rebase is required because of recent commits. Thanks and Regards, Shlok Kyal