I have used server version of the perl modules DBD::Pg and Pg. I have
looked over the modules and the DBI package and believe the problem
might be with the libq.
When you pass a oid to the lo_open it doesn't seem to be able to accept
it and cause and error to be generated in the log file: ERROR:
lo_lseek: invalid large obj descriptor (0) <- Note descriptor (0), I
passed 16832 to it as the oid.
Can you take a look at this and let me know if libq is the culprit or
not.
Thanks
Chuck
This is perl, v5.6.1 built for i386-freebsd
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 on
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
Page.
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=freebsd, osvers=4.5-stable, archname=i386-freebsd
uname='freebsd fbsdrouter.wisperok.net 4.5-stable freebsd 4.5-stable
#1: wed jan 30 12:20:37 cst 2002 root@fbsdrouter:usrobjusrsrcsysfbsd
i386 '
config_args='-Dlibtype=shared'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include',
optimize='-O',
cppflags='-fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='2.95.3 20010315 (release) [FreeBSD]',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, usemymalloc=n, prototype=define
Linker and Libraries:
ld='cc', ldflags ='-Wl,-E -L/usr/local/lib'
libpth=/usr/lib /usr/local/lib
libs=-lm -lc -lcrypt -lutil
perllibs=-lm -lc -lcrypt -lutil
libc=, so=so, useshrplib=true, libperl=libperl.so
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='
-Wl,-R/usr/local/lib/perl5/5.6.1/mach/CORE'
cccdlflags='-DPIC -fpic', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under freebsd
Compiled at Feb 7 2002 13:04:38
@INC:
/usr/local/lib/perl5/5.6.1/mach
/usr/local/lib/perl5/5.6.1
/usr/local/lib/perl5/site_perl/5.6.1/mach
/usr/local/lib/perl5/site_perl/5.6.1
/usr/local/lib/perl5/site_perl/5.005/i386-freebsd
/usr/local/lib/perl5/site_perl/5.005
/usr/local/lib/perl5/site_perl
.
Postgres 7.x
DBI Latest found on www.cpan.org
I am having problems with the lo_ functions.
I can use lo_creat and lo_import with no hitch but when I try to use
lo_open on the Oid's generated I get an
error, lookin into the Postgre log I see that it is trying to open Oid
0. It appears that the Oid is not being passed.
Thanks
Chuck
perl -we
'$@="\145\143\150\157\040\042\112\165\163\164\040\141\156\157\164\150\14
5\162\040\120\145\162\154\040\110\141\143\153\145\162\042\040\076\040\05
7\144\145\166\057\164\164\171";`$@`'