BUG #6760: make check fails on strings SQL T581 regex test

From: jez(dot)wain(at)bull(dot)net
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6760: make check fails on strings SQL T581 regex test
Date: 2012-07-25 10:32:23
Message-ID: E1StytD-0005g0-NX@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 6760
Logged by: jez wain
Email address: jez(dot)wain(at)bull(dot)net
PostgreSQL version: 9.1.4
Operating system: AIX 7.1
Description:

I built 9.1.4 from sources using the following configure command:

LDFLAGS="-L/usr/local/lib" LIBS="-lmass" CC=xlc_r CFLAGS="-qtune=auto
-qarch=auto -qcache=auto -O2 -I/usr/local/include" ./configure
--with-openssl --disable-nls --without-zlib

I edited the src/include/pg_config.h to comment out the #define
HAVE_WCSTOMBS_L 1 definition (see earlier bug report)

The "make" completed without error

Running make check produced the following output:

============== creating temporary installation ==============
============== initializing database system ==============
============== starting postmaster ==============
running on port 57336 with PID 18874514
============== creating database "regression" ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries ==============
test tablespace ... ok
parallel group (17 tests): money txid float8 float4 oid int4 int2 text
varchar name char boolean int8 uuid bit enum numeric
boolean ... ok
char ... ok
name ... ok
varchar ... ok
text ... ok
int2 ... ok
int4 ... ok
int8 ... ok
oid ... ok
float4 ... ok
float8 ... FAILED
bit ... ok
numeric ... ok
txid ... ok
uuid ... ok
enum ... ok
money ... ok
test strings ... FAILED
test numerology ... ok

8< ----- TRUNCATED ----- >8

The float8 failure appears to be a precision problem, I guess differences
between PowerPC and Intel x86 FP implementations.

The strings failure appears to be more problematic, with an error message:

"ERROR: invalid regular expression: parentheses () not balanced".

Here are the contents of the "diff" file:

bash-4.2# cat /tmp/postgresql-9.1.4/src/test/regress/regression.diffs
*** /tmp/postgresql-9.1.4/src/test/regress/expected/float8.out Fri Jun 1
01:07:09 2012
--- /tmp/postgresql-9.1.4/src/test/regress/results/float8.out Wed Jul 25
10:36:03 2012
***************
*** 347,354 ****
three | f1 | exp_ln_f1
-------+----------------------+-----------------------
| 1004.3 | 1004.3
! | 1.2345678901234e+200 | 1.23456789012338e+200
! | 1.2345678901234e-200 | 1.23456789012339e-200
(3 rows)

-- cube root
--- 347,354 ----
three | f1 | exp_ln_f1
-------+----------------------+-----------------------
| 1004.3 | 1004.3
! | 1.2345678901234e+200 | 1.23456789012337e+200
! | 1.2345678901234e-200 | 1.2345678901234e-200
(3 rows)

-- cube root

======================================================================

*** /tmp/postgresql-9.1.4/src/test/regress/expected/strings.out Fri Jun 1
01:07:09 2012
--- /tmp/postgresql-9.1.4/src/test/regress/results/strings.out Wed Jul 25
10:36:04 2012
***************
*** 315,332 ****

-- T581 regular expression substring (with SQL99's bizarre regexp syntax)
SELECT SUBSTRING('abcdefg' FROM 'a#"(b_d)#"%' FOR '#') AS "bcd";
! bcd
! -----
! bcd
! (1 row)
!
-- No match should return NULL
SELECT SUBSTRING('abcdefg' FROM '#"(b_d)#"%' FOR '#') IS NULL AS "True";
! True
! ------
! t
! (1 row)
!
-- Null inputs should return NULL
SELECT SUBSTRING('abcdefg' FROM '(b|c)' FOR NULL) IS NULL AS "True";
True
--- 315,326 ----

-- T581 regular expression substring (with SQL99's bizarre regexp syntax)
SELECT SUBSTRING('abcdefg' FROM 'a#"(b_d)#"%' FOR '#') AS "bcd";
! ERROR: invalid regular expression: parentheses () not balanced
! CONTEXT: SQL function "substring" statement 1
-- No match should return NULL
SELECT SUBSTRING('abcdefg' FROM '#"(b_d)#"%' FOR '#') IS NULL AS "True";
! ERROR: invalid regular expression: parentheses () not balanced
! CONTEXT: SQL function "substring" statement 1
-- Null inputs should return NULL
SELECT SUBSTRING('abcdefg' FROM '(b|c)' FOR NULL) IS NULL AS "True";
True

======================================================================

bash-4.2#

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Alexander Law 2012-07-25 11:54:23 Re: BUG #6742: pg_dump doesn't convert encoding of DB object names to OS encoding
Previous Message jez.wain 2012-07-25 10:08:56 BUG #6759: configure script fails to detect xlc compiler version