Skip site navigation (1) Skip section navigation (2)

BUG #4525: substring with this pattern works in 8.3.1; does not work in 8.3.4

From: "chris wood" <chrisj(dot)wood(at)sympatico(dot)ca>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #4525: substring with this pattern works in 8.3.1; does not work in 8.3.4
Date: 2008-11-12 18:45:27
Message-ID: 200811121845.mACIjRpq054380@wwwmaster.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-bugs
The following bug has been logged online:

Bug reference:      4525
Logged by:          chris wood
Email address:      chrisj(dot)wood(at)sympatico(dot)ca
PostgreSQL version: 8.3.4
Operating system:   Debian
Description:        substring with this pattern works in 8.3.1; does not
work in 8.3.4
Details: 

I apologize in advance for not testing  on 8.3.5,  but that would be very
difficult for me.

I e-mailed this same problem from chris(dot)wood(at)bookitnow(dot)ca and it got
blocked

here is where it works in 8.3.1:
protocalte=> select version() ;
                                        version
----------------------------------------------------------------------------
------------
 PostgreSQL 8.3.1 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3
(Debian 4.2.3-2)
(1 row)

protocalte=> CREATE TABLE locn (
    locn_key integer NOT NULL,
    public_phone text NOT NULL,
    CONSTRAINT public_phone_ch CHECK (((public_phone = ''::text) OR
("substring"(public_phone, '^[0-9]{10}(,[0-9]{10})*$'::text) IS NOT NULL)))
);
CREATE TABLE
protocalte=> insert into locn values(10, '1231231234') ;
INSERT 0 1

and here is where it does not work in 8.3.4:
postgresbugs=# select version() ;
                                          version
----------------------------------------------------------------------------
----------------
 PostgreSQL 8.3.4 on i486-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian
4.3.2-1) 4.3.2
(1 row)

postgresbugs=# CREATE TABLE locn (
    locn_key integer NOT NULL,
    public_phone text NOT NULL,
    CONSTRAINT public_phone_ch CHECK (((public_phone = ''::text) OR
("substring"(public_phone, '^[0-9]{10}(,[0-9]{10})*$'::text) IS NOT NULL)))
);
CREATE TABLE
postgresbugs=# insert into locn values(10, '1231231234') ;
ERROR:  new row for relation "locn" violates check constraint
"public_phone_ch"

Responses

pgsql-bugs by date

Next:From: stellaDate: 2008-11-12 19:08:02
Subject: BUG #4526: Problem with sorting order by clause and null values(space) in the beginning og a string
Previous:From: Chris WoodDate: 2008-11-12 18:07:46
Subject: substring with this pattern works in 8.3.1; does not work in 8.3.4

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group