Re: BUG #2390: check constraint - Mailing list pgsql-bugs

From Stephan Szabo
Subject Re: BUG #2390: check constraint
Date
Msg-id 20060413085322.E81698@megazone.bigpanda.com
Whole thread Raw
In response to BUG #2390: check constraint  ("Andreas Kretschmer" <andreas.kretschmer@schollglas.com>)
Responses Re: BUG #2390: check constraint  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Wed, 12 Apr 2006, Andreas Kretschmer wrote:

> The following bug has been logged online:
>
> Bug reference:      2390
> Logged by:          Andreas Kretschmer
> Email address:      andreas.kretschmer@schollglas.com
> PostgreSQL version: 8.1.3
> Operating system:   Debian Linux
> Description:        check constraint
> Details:
>
> i want to add a check constraint like:
>
> create table foo (i char(7) CHECK (i ~ '^[0-9]{6,7}$'));
>
> i doesn't work, but if works, if i change the type for i to varchar(7).

Well, the regex doesn't entirely make sense for char(n) data.  It's not
possible to have 6 characters between beginning and end because it's a
fixed length 7 character string. If you try to insert '000000' into i,
you're actually inserting '000000 ' which is invalid by the constraint.

pgsql-bugs by date:

Previous
From: "Peter Brant"
Date:
Subject: Permission denied on fsync / Win32 (was right sibling is not next child)
Next
From: "Peter Brant"
Date:
Subject: Re: right sibling is not next child