1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Fix my oversight in enabling domains-of-domains: ALTER DOMAIN ADD CONSTRAINT

needs to check the new constraint against columns of derived domains too.

Also, make it error out if the domain to be modified is used within any
composite-type columns.  Eventually we should support that case, but it seems
a bit painful, and not suitable for a back-patch.  For the moment just let the
user know we can't do it.

Backpatch to 8.2, which is the only released version that allows nested
domains.  Possibly the other part should be back-patched further.
This commit is contained in:
Tom Lane
2007-05-11 20:17:15 +00:00
parent 3b6afdd7f9
commit d8326119c8
6 changed files with 143 additions and 23 deletions

View File

@ -1,5 +1,5 @@
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.21 2007/01/31 23:26:02 momjian Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.22 2007/05/11 20:16:32 tgl Exp $
PostgreSQL documentation
-->
@ -197,6 +197,19 @@ ALTER DOMAIN <replaceable class="PARAMETER">name</replaceable>
</para>
</refsect1>
<refsect1>
<title>Notes</title>
<para>
Currently, <command>ALTER DOMAIN ADD CONSTRAINT</> and
<command>ALTER DOMAIN SET NOT NULL</> will fail if the named domain or
any derived domain is used within a composite-type column of any
table in the database. They should eventually be improved to be
able to verify the new constraint for such nested columns.
</para>
</refsect1>
<refsect1>
<title>Examples</title>