Subject: | Test failure: option 'standard_conforming_strings' readonly on Postgres 8.1 |
The test "t/12placeholders.t" fails with my Pg v8.1 installation
seemingly because the Pg option "standard_conforming_strings" is
read-only despite the fact that the README file suggests Pg v7.4 and
above should be OK.
Test error:
DBD::Pg::db do failed: ERROR: parameter "standard_conforming_strings"
cannot be changed at t/12placeholders.t line 286.
From http://postgresql.mirrors-r-us.net/docs/8.1/static/release-8-1.html
"The standard_conforming_strings value is read-only. Applications can
retrieve the value to know how backslashes are processed. (Presence of
the parameter can also be taken as an indication that E'' string syntax
is supported.)"
cpan[4]> install DBD::Pg
Running install for module 'DBD::Pg'
Running make for T/TU/TURNSTEP/DBD-Pg-2.11.7.tar.gz
Has already been unwrapped into directory
/home/blah/.cpan/build/DBD-Pg-2.11.7-ib2OZ7
Has already been made
Running make test
PGINITDB="/usr/bin/initdb" PERL_DL_NONLAZY=1
/cath/opt/perl-5.8.8/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-signature......skipped: Set the environment variable TEST_SIGNATURE
to enable this test
t/00basic...........ok
t/01connect.........Test directory
/home/blah/.cpan/build/DBD-Pg-2.11.7-ib2OZ7/dbdpg_test_database has been
removed, will create a new one
Please wait, creating new database for testing
t/01connect.........12/13 #
# DBI Version 1.607
# DBD::Pg Version 2.11.7
# Perl Version 5.8.8
# OS linux
# PostgreSQL (compiled) 80110
# PostgreSQL (target) 80110
# PostgreSQL (reported) PostgreSQL 8.1.10 on
x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 3.4.5 20051201 (Red
Hat 3.4.5-2)
# Default port 5432
# DBI_DSN
dbi:Pg:db="postgres";port=5440;host=<pwd>/dbdpg_test_database/data/socket
# DBI_USER cathteam
# Test schema dbd_pg_testschema
# LANG C
# backslash_quote safe_encoding
# client_encoding UTF8
# server_encoding UTF8
# standard_conforming_strings off
# Adjusted: initdb
t/01connect.........ok
t/01constants.......ok
t/02attribs.........ok
t/03dbmethod........ok
t/03smethod.........ok
t/04misc............ok
t/06bytea...........ok
t/07copy............ok
t/08async...........ok
t/09arrays..........ok
t/12placeholders....9/45
# Failed test 'Backslash quoting inside single quotes is parsed
correctly with standard_conforming_strings off'
# at t/12placeholders.t line 291.
# 'DBD::Pg::db do failed: ERROR: parameter
"standard_conforming_strings" cannot be changed at t/12placeholders.t
line 286.
# '
# doesn't match '(?-xism:unterminated quoted string)'
# Failed test 'Backslash quoting inside single quotes is parsed
correctly with standard_conforming_strings on'
# at t/12placeholders.t line 301.
# got: 'DBD::Pg::db do failed: ERROR: parameter
"standard_conforming_strings" cannot be changed at t/12placeholders.t
line 296.
# '
# expected: ''
# Looks like you failed 2 tests of 45.
t/12placeholders.... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/45 subtests
t/20savepoints......ok
t/99_perlcritic.....skipped: Set the environment variable TEST_CRITIC to
enable this test
t/99_pod............skipped: Set the environment variable TEST_AUTHOR to
enable this test
t/99_spellcheck.....skipped: Set the environment variable TEST_SPELL to
enable this test
t/99_yaml...........ok
t/99cleanup.........1/1 Removing test database directory
t/99cleanup.........ok