BUG #6760: make check fails on strings SQL T581 regex test - Mailing list pgsql-bugs

From jez.wain@bull.net
Subject BUG #6760: make check fails on strings SQL T581 regex test
Date
Msg-id E1StytD-0005g0-NX@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #6760: make check fails on strings SQL T581 regex test  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      6760
Logged by:          jez wain
Email address:      jez.wain@bull.net
PostgreSQL version: 9.1.4
Operating system:   AIX 7.1
Description:=20=20=20=20=20=20=20=20

I built 9.1.4 from sources using the following configure command:

LDFLAGS=3D"-L/usr/local/lib" LIBS=3D"-lmass" CC=3Dxlc_r CFLAGS=3D"-qtune=3D=
auto
-qarch=3Dauto -qcache=3Dauto -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=20

Running make check  produced the following output:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D creating temporary installation =
       =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D initializing database system    =
       =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D starting postmaster             =
       =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
running on port 57336 with PID 18874514
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D creating database "regression"  =
       =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
CREATE DATABASE
ALTER DATABASE
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D running regression test queries =
       =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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=20

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".=20=20

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=20=20=20=20=20=20=20
  -------+----------------------+-----------------------
         |               1004.3 |                1004.3
!        | 1.2345678901234e+200 | 1.23456789012338e+200
!        | 1.2345678901234e-200 | 1.23456789012339e-200
  (3 rows)
=20=20
  -- cube root
--- 347,354 ----
   three |          f1          |       exp_ln_f1=20=20=20=20=20=20=20
  -------+----------------------+-----------------------
         |               1004.3 |                1004.3
!        | 1.2345678901234e+200 | 1.23456789012337e+200
!        | 1.2345678901234e-200 |  1.2345678901234e-200
  (3 rows)
=20=20
  -- cube root

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

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

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

bash-4.2#=20

pgsql-bugs by date:

Previous
From: jez.wain@bull.net
Date:
Subject: BUG #6758: ./configure script sets HAVE_WCSTOMBS_L 1
Next
From: Fujii Masao
Date:
Subject: Re: BUG #6756: primary_conninfo is ignored if restore_command is set..