Re: ALTER COLUMN TYPE vs. domain constraints
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2017-10-28T21:07:59Z
Lists: pgsql-hackers
On Fri, Oct 27, 2017 at 11:15 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> We could consider back-patching the attached to cover this, but
> I'm not entirely sure it's worth the trouble, because I haven't
> thought of any non-silly use-cases in the absence of domains
> over composite. Comments?
There are no real complaints about the current behavior, aren't there?
So only patching HEAD seems enough to me.
+comment on constraint c1 on domain dcomptype is 'random commentary';
[...]
+alter type comptype alter attribute r type bigint;
You have added a comment on the constraint to make sure that it
remains up on basically this ALTER TYPE. Querying pg_obj_description
would make sure that the comment on the constraint is still here.
+static void
+RebuildDomainConstraintComment(AlteredTableInfo *tab, int pass, Oid objid,
+ List *domname, char *conname)
There is much duplication with RebuildConstraintComment. Why not
grouping both under say RebuildObjectComment()? I would think about
having cmd->objtype and cmd->object passed as arguments, and then
remove rel and domname from the existing arguments.
[nit]
foreach(lcmd, subcmds)
- ATExecCmd(wqueue, tab, rel, (AlterTableCmd *)
lfirst(lcmd), lockmode);
+ ATExecCmd(wqueue, tab, rel,
+ castNode(AlterTableCmd, lfirst(lcmd)),
+ lockmode);
This does not really belong to this patch.. No objections to group things.
[/nit]
--
Michael
Commits
-
Fix ALTER TABLE code to update domain constraints when needed.
- af20e2d728eb 11.0 landed
-
Rethink the dependencies recorded for FieldSelect/FieldStore nodes.
- 6784d7a1dc69 11.0 cited