Re: BUG #3037: strange behave of CHECK constraint

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #3037: strange behave of CHECK constraint
Дата
Msg-id 11475.1172206448@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #3037: strange behave of CHECK constraint  ("Pavel Stehule" <pavel.stehule@hotmail.com>)
Ответы Re: BUG #3037: strange behave of CHECK constraint  ("Pavel Stehule" <pavel.stehule@hotmail.com>)
Список pgsql-bugs
"Pavel Stehule" <pavel.stehule@hotmail.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)


            regards, tom lane

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #3040: Domain type handling change in 8.2.2 breaks declarations
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #3054: getopt_long () misbehaviour