git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 501e41d) | patch
Fix several DDL issues of generated columns versus inheritance
Wed, 6 May 2020 14:25:54 +0000 (16:25 +0200)
Fri, 8 May 2020 09:31:57 +0000 (11:31 +0200)
commit 086ffddf3656fb3d24d9a73ce36cb1102e42cc90
Fix several DDL issues of generated columns versus inheritance

Several combinations of generated columns and inheritance in CREATE
TABLE were not handled correctly. Specifically:

- Disallow a child column specifying a generation expression if the
parent column is a generated column. The child column definition
must be unadorned and the parent column's generation expression will
be copied.

- Prohibit a child column of a generated parent column specifying
default values or identity.

- Allow a child column of a not-generated parent column specifying
itself as a generated column. This previously did not work, but it
was possible to arrive at the state via other means (involving ALTER
TABLE), so it seems sensible to support it.

Add tests for each case. Also add documentation about the rules
involving generated columns and inheritance.

Discussion:
https://www.postgresql.org/message-id/flat/15830.1575468847%40sss.pgh.pa.us
https://www.postgresql.org/message-id/flat/2678bad1-048f-519a-ef24-b12962f41807%40enterprisedb.com
https://www.postgresql.org/message-id/flat/CAJvUf_u4h0DxkCMCeEKAWCuzGUTnDP-G5iVmSwxLQSXn0_FWNQ%40mail.gmail.com
doc/src/sgml/ddl.sgml diff | blob | blame | history
src/backend/commands/tablecmds.c diff | blob | blame | history
src/test/regress/expected/generated.out diff | blob | blame | history
src/test/regress/sql/generated.sql diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /