Re: BUG #3037: strange behave of CHECK constraint

From: "Pavel Stehule" <pavel(dot)stehule(at)hotmail(dot)com>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #3037: strange behave of CHECK constraint
Date: 2007-02-23 06:43:37
Message-ID: BAY114-F3882FD09D541A289EBC55BF98E0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

>"Pavel Stehule" <pavel(dot)stehule(at)hotmail(dot)com> writes:
> > root=# create table products(
> > barcode char(13) NOT NULL
> > check (barcode NOT similar to '%[^0-9]%')
> > );
>
> > root=# insert into products values('22');
> > ERROR: new row for relation "products" violates check constraint
> > "products_barcode_check"
>
> > root=# select '22' NOT similar to '%[^0-9]%';
> > ?column?
> > ----------
> > t
>
>That isn't a counterexample, because you forgot about the trailing
>spaces, which can match [^0-9].
>
>regression=# select '22' NOT similar to '%[^0-9]%';
> ?column?
>----------
> t
>(1 row)
>
>regression=# select '22'::char(13) NOT similar to '%[^0-9]%';
> ?column?
>----------
> f
>(1 row)
>
>

I see it now. Thank You. It's one trick from Joe Celko and I too late
understand it.

Nice day
Pavel Stehule

_________________________________________________________________
Emotikony a pozadi programu MSN Messenger ozivi vasi konverzaci.
http://messenger.msn.cz/

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2007-02-23 07:02:21 Re: ERROR: relation "pg_catalog.pg_user" does not exist
Previous Message guru 2007-02-23 06:03:32 ERROR: relation "pg_catalog.pg_user" does not exist