agora inbox for pgsql-docs@postgresql.org  
help / color / mirror / Atom feed
From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: David G. Johnston <david.g.johnston@gmail.com>
Cc: elionescu@yahoo.com <elionescu@yahoo.com>
Cc: pgsql-docs@lists.postgresql.org <pgsql-docs@lists.postgresql.org>
Subject: Re: incorrect (incomplete) description for "alter domain"
Date: Wed, 16 Oct 2024 17:11:54 -0400
Message-ID: <ZxAsGmcyYk8es5ac@momjian.us> (raw)
In-Reply-To: <2596729.1722266261@sss.pgh.pa.us>
References: <172225092461.915373.6103973717483380183@wrigleys.postgresql.org>
	<CAKFQuwbZ3KDq3CtG0qtw7gVT4EWgmD8XFMktEFcruVs98ihCSw@mail.gmail.com>
	<2585954.1722265086@sss.pgh.pa.us>
	<2596729.1722266261@sss.pgh.pa.us>

On Mon, Jul 29, 2024 at 11:17:41AM -0400, Tom Lane wrote:
> I wrote:
> > I think the page is technically correct, but I'm inclined to duplicate
> > this text from the CREATE DOMAIN page:
> 
> > 	where domain_constraint is:
> > 	[ CONSTRAINT constraint_name ]
> > 	{ NOT NULL | NULL | CHECK (expression) }
> 
> > rather than making readers go look that up.
> 
> Actually, there *is* a bug in the description, because experimentation
> shows that CREATE DOMAIN accepts NULL in this syntax (as advertised)
> but ALTER DOMAIN does not.  We could alternatively decide that that's
> a code bug and make ALTER DOMAIN take it, but I don't think it's worth
> any effort (and this behavior may actually have been intentional, too).
> I think we should just add
> 
> 	where domain_constraint is:
> 
> 	[ CONSTRAINT constraint_name ]
> 	{ NOT NULL | CHECK (expression) }
> 
> to the ALTER DOMAIN page, and then remove the claim that it's
> identical to CREATE DOMAIN.

I have written the attached patch to document this.  I assume this
should be backpatched to PG 12.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  When a patient asks the doctor, "Am I going to die?", he means 
  "Am I going to die soon?"

Attachments:

  [text/x-diff] domain.diff (1.4K, ../ZxAsGmcyYk8es5ac@momjian.us/2-domain.diff)
  download | inline diff:
diff --git a/doc/src/sgml/ref/alter_domain.sgml b/doc/src/sgml/ref/alter_domain.sgml
index f6704d7557a..74855172222 100644
--- a/doc/src/sgml/ref/alter_domain.sgml
+++ b/doc/src/sgml/ref/alter_domain.sgml
@@ -41,6 +41,11 @@ ALTER DOMAIN <replaceable class="parameter">name</replaceable>
     RENAME TO <replaceable class="parameter">new_name</replaceable>
 ALTER DOMAIN <replaceable class="parameter">name</replaceable>
     SET SCHEMA <replaceable class="parameter">new_schema</replaceable>
+
+<phrase>where <replaceable class="parameter">domain_constraint</replaceable> is:</phrase>
+
+[ CONSTRAINT <replaceable class="parameter">constraint_name</replaceable> ]
+{ NOT NULL | CHECK (<replaceable class="parameter">expression</replaceable>) }
 </synopsis>
  </refsynopsisdiv>
 
@@ -79,8 +84,7 @@ ALTER DOMAIN <replaceable class="parameter">name</replaceable>
     <term><literal>ADD <replaceable class="parameter">domain_constraint</replaceable> [ NOT VALID ]</literal></term>
     <listitem>
      <para>
-      This form adds a new constraint to a domain using the same syntax as
-      <link linkend="sql-createdomain"><command>CREATE DOMAIN</command></link>.
+      This form adds a new constraint to a domain.
       When a new constraint is added to a domain, all columns using that
       domain will be checked against the newly added constraint.  These
       checks can be suppressed by adding the new constraint using the

view thread (9+ messages)  latest in thread

Message-ID: <ZxAsGmcyYk8es5ac@momjian.us>
Permalink:  ../ZxAsGmcyYk8es5ac@momjian.us/
Also on:    postgresql.org/message-id/ZxAsGmcyYk8es5ac@momjian.us

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: bruce@momjian.us, tgl@sss.pgh.pa.us, david.g.johnston@gmail.com, elionescu@yahoo.com, pgsql-docs@lists.postgresql.org
  Subject: Re: incorrect (incomplete) description for "alter domain"
  In-Reply-To: <ZxAsGmcyYk8es5ac@momjian.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox