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. +
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? |