Re: Requested addition to the todo list [was]: Re: Altering Domain Constraints on composite types

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Richard Broersma <richard(dot)broersma(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Requested addition to the todo list [was]: Re: Altering Domain Constraints on composite types
Date: 2010-07-03 17:27:16
Message-ID: 201007031727.o63HRGn02864@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Richard Broersma wrote:
> I'd like to propose the following items be added to the todo list:
> (Any thoughts?)
>
> 1) Modify composite types to allow ALTER DOMAIN(s) to ADD CONSTRAINT.
> 2) Allow a since ALTER DOMAIN issue multiple ADD and DROP commands in
> a single statement.

This is not currently a TODO. I think the idea of modifying a domain
that is in use is certainly useful, but I am unclear how we would
implement that if the domain is already in use.

---------------------------------------------------------------------------

>
> On Thu, Jun 3, 2010 at 9:12 AM, Richard Broersma
> <richard(dot)broersma(at)gmail(dot)com> wrote:
> > While playing with domains and composite types, I discovered a problem
> > when I tried to alter a domain constraint. ?I don't believe that this
> > problem exists for traditional types.
> >
> > for example:
> >
> > broersr=> insert into tags values ((84,'PDSL',1,''),(84,'P',1, ''),'TEST TAG');
> > ERROR: ?invalid regular expression: invalid repetition count(s)
> > broersr=> \dD
> >
> > List of domains
> > ?Schema | ? ? ? ? Name ? ? ? ? | ? ? ? ? Type ? ? ? ? ?|
> > ?Modifier ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? ? Check
> > --------+----------------------+-----------------------+----------------------------------------+-------------------------------------------------------
> > ...
> > ?public | tag_function ? ? ? ? | character varying(4) ?| not null
> > ? ? ? ? ? ? ? ? ? ? ? ? | CHECK (VALUE::text ~ '^[A-Z]{2-4}$'::text)
> > ...
> > (11 rows)
> >
> > broersr=> --oops I made a mistake in the definition of my REGEX
> > constraint so lets fix it.
> >
> > broersr=> begin;
> > BEGIN
> > broersr=> alter domain tag_function drop constraint valid_tag_function;
> > ALTER DOMAIN
> > broersr=> alter domain tag_function add constraint valid_tag_function
> > check(value ~ E'^[A-Z]{2,4}$');
> > ERROR: ?cannot alter type "tag_function" because column "tags"."tag" uses it
> > broersr=> rollback;
> > ROLLBACK
> >
> >
> > --
> > Regards,
> > Richard Broersma Jr.
> >
> > Visit the Los Angeles PostgreSQL Users Group (LAPUG)
> > http://pugs.postgresql.org/lapug
> >
>
>
>
> --
> Regards,
> Richard Broersma Jr.
>
> Visit the Los Angeles PostgreSQL Users Group (LAPUG)
> http://pugs.postgresql.org/lapug
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ None of us is going to be here forever. +

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Graham Leggett 2010-07-03 22:13:26 SQL statement logging: picking up strange queries from "pg_catalog"
Previous Message Bruce Momjian 2010-07-03 16:30:53 Re: Does psql -f quit insertion after an error in a statement has been detected?