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

From: Richard Broersma <richard(dot)broersma(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Requested addition to the todo list [was]: Re: Altering Domain Constraints on composite types
Date: 2010-06-04 04:49:00
Message-ID: AANLkTikfVa4QKh-BMZONvsDuP2ie26AD1D3VWJNSD3pn@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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.

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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian von Bidder 2010-06-04 04:55:55 Re: libreadline and Debian 5 - not missing just badly named
Previous Message Craig Ringer 2010-06-04 00:43:02 Re: How to remove the current database and populate the database with new data?