mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Clarify comment in ATRewriteTable().
Make sure it's clear that the prohibition on adding a column with a default when the rowtype is used elsewhere is intentional, and be a bit more explicit about the other cases where we perform this check.
This commit is contained in:
parent
b1e65c3216
commit
9e7e1172a5
@ -3378,12 +3378,16 @@ ATRewriteTable(AlteredTableInfo *tab, Oid OIDNewHeap, LOCKMODE lockmode)
|
||||
}
|
||||
|
||||
/*
|
||||
* If we need to rewrite the table, the operation has to be propagated to
|
||||
* tables that use this table's rowtype as a column type.
|
||||
* If we change column data types or add/remove OIDs, the operation has to
|
||||
* be propagated to tables that use this table's rowtype as a column type.
|
||||
* newrel will also be non-NULL in the case where we're adding a column
|
||||
* with a default. We choose to forbid that case as well, since composite
|
||||
* types might eventually support defaults.
|
||||
*
|
||||
* (Eventually this will probably become true for scans as well, but at
|
||||
* the moment a composite type does not enforce any constraints, so it's
|
||||
* not necessary/appropriate to enforce them just during ALTER.)
|
||||
* (Eventually we'll probably need to check for composite type
|
||||
* dependencies even when we're just scanning the table without a rewrite,
|
||||
* but at the moment a composite type does not enforce any constraints,
|
||||
* so it's not necessary/appropriate to enforce them just during ALTER.)
|
||||
*/
|
||||
if (newrel)
|
||||
find_composite_type_dependencies(oldrel->rd_rel->reltype,
|
||||
|
Loading…
Reference in New Issue
Block a user