Thread: bug report

bug report

From
"Stephane Paquin"
Date:
Hi ! Here's a minor(major?) bug I've noticed while using the CPAN module Pg
(pgsql_perl5-1.9.0).

I'm using perl 5.06.1, PostgreSQL 7.1.3 and pgsql_perl5-1.9.0.

When attempting to do the following in perl:

#!/usr/bin/perl -w
#
#   Perl sample program
#
use Pg;                                                 # load database
routines
$conn = Pg::connectdb("dbname=SIA");                   # connect to the
database                                                       # did the database
connection fail?
die $conn->errorMessage unless PGRES_CONNECTION_OK eq $conn->status;


There appears to be a tolower(str) expression ran against the content of the
connection string in the Pg::connectdb module. With PostgreSQL, I've set up
a database called SIA, and I can't connect to it via this method. If I
create a database called sia, the connection gets established. I take it the
problem would persist with passwords using mixes of UPPER/lowercase
characters and result in connection failures. :(


Hope this helps make the Pg module better ! :)



Here's the output of perl -v & perl -V :
-----------------------------------------------------
$ perl -v

This is perl, v5.6.1 built for i386-openbsd

Copyright 1987-2001, Larry Wall

Perl may be copied only under the terms of either the Artistic License
or the
GNU General Public License, which may be found in the Perl 5 source kit
.

Complete documentation for Perl, including FAQ lists, should be found o
n
this system using `man perl' or `perldoc perl'.  If you have access to
the
Internet, point your browser at http://www.perl.com/, the Perl Home Pag
e.

$ perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration
: Platform:   osname=openbsd, osvers=3.2, archname=i386-openbsd   uname='openbsd'
config_args='-Dopenbsd_distribution=defined-dsE'   hint=recommended, useposix=true, d_sigaction=define
usethreads=undefuse5005threads=undef useithreads=undef usemultipli
 
city=undef   useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef   use64bitint=undef use64bitall=undef
uselongdouble=undefCompiler:   cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include',   optimize='-O2',
cppflags='-fno-strict-aliasing-I/usr/local/include'   ccversion='', gccversion='2.95.3 20010125 (prerelease)', gccosa
 
rs='openbsd3.2'   intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234   d_longlong=define, longlongsize=8,
d_longdbl=define,longdblsiz   ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_
 
lseeksize=8   alignbytes=4, usemymalloc=n, prototype=define Linker and Libraries:   ld='cc', ldflags =''
libpth=/usr/lib  libs=-lm -lc -lutil   perllibs=-lm -lc -lutil   libc=/usr/lib/libc.so.28.5, so=so, useshrplib=true,
libperl=lib
.so.6.1 Dynamic Linking:   dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=define, ccdlflags='-Wl,
sr/libdata/perl5/i386-openbsd/5.6.1/CORE'   cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC '


Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under openbsd Compiled at
Dec11 2002 07:48:13 @INC:   /usr/libdata/perl5/i386-openbsd/5.6.1   /usr/local/libdata/perl5/i386-openbsd/5.6.1
/usr/libdata/perl5  /usr/local/libdata/perl5   /usr/local/libdata/perl5/site_perl/i386-openbsd
/usr/libdata/perl5/site_perl/i386-openbsd  /usr/local/libdata/perl5/site_perl   /usr/libdata/perl5/site_perl
/usr/local/lib/perl5/site_perl  .
 



Re: bug report

From
Tom Lane
Date:
"Stephane Paquin" <selt@philosophiebleue.com> writes:
> There appears to be a tolower(str) expression ran against the content of the
> connection string in the Pg::connectdb module.

The source code appears to believe this is a feature.  Pg.pm documents it:

When opening a connection a given database name is always converted to 
lower-case, unless it is surrounded by double quotes.

I'd call it a misfeature myself, but it's probably too late to change.
        regards, tom lane