The following bug has been logged online:
Bug reference: 3037
Logged by: Pavel Stehule
Email address: pavel.stehule@hotmail.com
PostgreSQL version: 8.3
Operating system: Linux
Description: strange behave of CHECK constraint
Details:
check constraint is incorect for operator SIMILAR
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=# insert into products values('aa');
ERROR: new row for relation "products" violates check constraint
"products_barcode_check"
root=# select '22' NOT similar to '%[^0-9]%';
?column?
----------
t
(1 Åádka)