DBD::Pg with overloaded values (Re: MCPK / has_a deflation)
On Tue, Sep 23, 2003 at 08:39:34PM +0100, Tony Bowden wrote: On Tue, Sep 23, 2003 at 11:56:26AM +, Dominic Mitchell wrote: However, when you attempt to access one of the non-PK columns, it blows up: print $pref-value, \n; # dies with: # Can't select for 5502/foo using 'SELECT value # FROM account_preference # WHERE acc_id=? AND name=? # ': Not an array reference (Account=HASH(0x8c43bf0)) at ... Yick. As discovered from talking to Dominic off list, it seems that DBD::Pg doesn't like being given overloaded objects as placeholder values: That's a bug in the driver. May affect other drivers so I've cc'd this to [EMAIL PROTECTED] Tim.
RE: DBD::Oracle beta available for testing
On Wed, Sep 24, 2003 at 11:24:17AM +0200, Steffen Goeldner wrote: Tim Bunce wrote: Is it an alpha or a beta? Who knows? Probably more alpha than beta but it it what it is and you're welcome to hit on it. Perl 5.6.1, MSWin32, Borland 5.5, Oracle 8.1.7 Makefile.PL Use of uninitialized value in numeric ge (=) at C:\temp\DBD-Oracle-1.15\Makefile.PL line 678. Got it. dmake ... Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_SQLEnvGet' referenced from C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ Error: Unresolved external '_SQLSvcCtxGet' referenced from C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ If you (or someone else) are familar enough with windows, could you check if those symbols are in some other oracle library that we're not linking with? Tim -- I don't see an obvious lib to link with that contains any SQLxxx functions (at least not on my Windows 9.2 Personal Edition). Regards, Jeff
Re: DBD::Oracle beta available for testing
Tim Bunce wrote: On Wed, Sep 24, 2003 at 11:24:17AM +0200, Steffen Goeldner wrote: dmake ... Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_SQLEnvGet' referenced from C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ Error: Unresolved external '_SQLSvcCtxGet' referenced from C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ If you (or someone else) are familar enough with windows, could you check if those symbols are in some other oracle library that we're not linking with? Those symbols are part of SQLLIB: http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a97269/pc_01int.htm#1174 $ORACLE_HOME/precomp/lib/oraSQL9.LIB has those symbols (and the other version in the msvc subdirectory): [EMAIL PROTECTED] /cygdrive/d/Oracle/ora92/precomp/lib $ nm oraSQL9.LIB | grep SQLSvcCtxGet T _SQLSvcCtxGet I __imp__SQLSvcCtxGet [EMAIL PROTECTED] /cygdrive/d/Oracle/ora92/precomp/lib $ nm oraSQL9.LIB | grep SQLEnvGet T _SQLEnvGet I __imp__SQLEnvGet [EMAIL PROTECTED] /cygdrive/d/Oracle/ora92/precomp/lib/msvc $ nm oraSQL9.LIB | grep SQLEnvGet T _SQLEnvGet I __imp__SQLEnvGet [EMAIL PROTECTED] /cygdrive/d/Oracle/ora92/precomp/lib/msvc $ nm oraSQL9.LIB | grep SQLSvcCtxGet T _SQLSvcCtxGet I __imp__SQLSvcCtxGet -- Andy Hassall ([EMAIL PROTECTED]) icq(5747695) (http://www.andyh.co.uk) Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)
Re: DBD::Oracle beta available for testing
On Wed, Sep 24, 2003 at 08:08:51PM +0100, Andy Hassall wrote: Tim Bunce wrote: On Wed, Sep 24, 2003 at 11:24:17AM +0200, Steffen Goeldner wrote: dmake ... Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_SQLEnvGet' referenced from C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ Error: Unresolved external '_SQLSvcCtxGet' referenced from C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ If you (or someone else) are familar enough with windows, could you check if those symbols are in some other oracle library that we're not linking with? Those symbols are part of SQLLIB: http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a97269/pc_01int.htm#1174 $ORACLE_HOME/precomp/lib/oraSQL9.LIB has those symbols (and the other version in the msvc subdirectory): Okay. You're using Oracle 9.x but Steffen was using Oracle 8.1.7. I know the code that uses those symbols isn't properly #ifdef'd out on older versions of Oracle so I need to fix that. But I also need to know if DBD::Oracle builds okay on Windows for Oracle 9.x users. Does it? If not then I presume the problem is that we need to link to oraSQL9.LIB. Does that fix it? If DBD::Oracle does work ok on windows with Oracle 9.c then I'm just left with the problem of working out a) the oldest Oracle version that supports SQLEnvGet etc, and b) how to tell that version from the header files (sadly Oracle doesn't provide a simple way to do that). Tim.
Re: DBD::Oracle beta available for testing
Tim Bunce wrote: On Wed, Sep 24, 2003 at 08:08:51PM +0100, Andy Hassall wrote: Tim Bunce wrote: On Wed, Sep 24, 2003 at 11:24:17AM +0200, Steffen Goeldner wrote: dmake ... Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_SQLEnvGet' referenced from C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ Error: Unresolved external '_SQLSvcCtxGet' referenced from C:\TEMP\DBD-ORACLE-1.15\DBDIMP.OBJ If you (or someone else) are familar enough with windows, could you check if those symbols are in some other oracle library that we're not linking with? Those symbols are part of SQLLIB: http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a97269/pc_01int.htm#1174 $ORACLE_HOME/precomp/lib/oraSQL9.LIB has those symbols (and the other version in the msvc subdirectory): Okay. You're using Oracle 9.x but Steffen was using Oracle 8.1.7. I know the code that uses those symbols isn't properly #ifdef'd out on older versions of Oracle so I need to fix that. But I also need to know if DBD::Oracle builds okay on Windows for Oracle 9.x users. Does it? If not then I presume the problem is that we need to link to oraSQL9.LIB. Does that fix it? If DBD::Oracle does work ok on windows with Oracle 9.c then I'm just left with the problem of working out a) the oldest Oracle version that supports SQLEnvGet etc, and b) how to tell that version from the header files (sadly Oracle doesn't provide a simple way to do that). It also fails building against 9.2.0.4: [EMAIL PROTECTED] /cygdrive/d/Temp/DBD-Oracle-1.15 $ nmake Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp Oracle.h blib\arch\auto\DBD\Oracle/Oracle.h cp Oracle.pm blib\lib\DBD\Oracle.pm cp oraperl.ph blib\lib/oraperl.ph cp dbdimp.h blib\arch\auto\DBD\Oracle/dbdimp.h cp ocitrace.h blib\arch\auto\DBD\Oracle/ocitrace.h cp Oraperl.pm blib\lib/Oraperl.pm cp lib/DBD/Oracle/GetInfo.pm blib\lib\DBD/Oracle/GetInfo.pm cp mk.pm blib\arch\auto\DBD\Oracle/mk.pm rem rem D:\Perl\bin\perl.exe -p -e s/~DRIVER~/Oracle/g d:/Perl/site/lib/auto/DBI/Driver.xst Oracle.xsi D:\Perl\bin\perl.exe D:\Perl\lib\ExtUtils/xsubpp -typemap D:\Perl\lib\ExtUtils\typemap -typemap typemap Oracle.xs Oracle.xsc D:\Perl\bin\perl.exe -MExtUtils::Command -e mv Oracle.xsc Oracle.c cl -c -ID:/oracle/ora92/oci/include -ID:/oracle/ora92/rdbms/demo -ID:/oracl e/ora92/precomp/public -Id:/Perl/site/lib/auto/DBI -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICI T_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DN DEBUG -O1-DVERSION=\1.15\ -DXS_VERSION=\1.15\ -ID:\Perl\lib\CORE -DUTF8_SUPPORT Oracle.c Oracle.c Oracle.xs(99) : warning C4013: 'ora_st_cancel' undefined; assuming extern returning int Oracle.xs(273) : warning C4013: 'dbd_init_oci_drh' undefined; assuming extern returning int cl -c -ID:/oracle/ora92/oci/include -ID:/oracle/ora92/rdbms/demo -ID:/oracl e/ora92/precomp/public -Id:/Perl/site/lib/auto/DBI -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICI T_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DN DEBUG -O1-DVERSION=\1.15\ -DXS_VERSION=\1.15\ -ID:\Perl\lib\CORE -DUTF8_SUPPORT dbdimp.c dbdimp.c dbdimp.c(328) : warning C4013: 'SQLEnvGet' undefined; assuming extern returning int dbdimp.c(386) : warning C4013: 'SQLSvcCtxGet' undefined; assuming extern returning int dbdimp.c(1100) : warning C4018: '' : signed/unsigned mismatch dbdimp.c(1641) : warning C4018: '!=' : signed/unsigned mismatch cl -c -ID:/oracle/ora92/oci/include -ID:/oracle/ora92/rdbms/demo -ID:/oracl e/ora92/precomp/public -Id:/Perl/site/lib/auto/DBI -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICI T_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DN DEBUG -O1-DVERSION=\1.15\ -DXS_VERSION=\1.15\ -ID:\Perl\lib\CORE -DUTF8_SUPPORT oci7.c oci7.c cl -c -ID:/oracle/ora92/oci/include -ID:/oracle/ora92/rdbms/demo -ID:/oracl e/ora92/precomp/public -Id:/Perl/site/lib/auto/DBI -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICI T_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DN DEBUG -O1-DVERSION=\1.15\ -DXS_VERSION=\1.15\ -ID:\Perl\lib\CORE -DUTF8_SUPPORT oci8.c oci8.c oci8.c(524) : warning C4018: '' : signed/unsigned mismatch oci8.c(658) : warning C4013: 'pp_rebind_ph_rset_in' undefined; assuming extern returning int oci8.c(738) : warning C4018: '' : signed/unsigned mismatch oci8.c(819) : warning C4018: '' : signed/unsigned mismatch oci8.c(889) : warning C4018: '' : signed/unsigned mismatch oci8.c(891) : warning C4018: '' : signed/unsigned mismatch oci8.c(1102) : warning C4018: '=' : signed/unsigned mismatch
Re: DBD::Oracle beta available for testing
Tim Bunce wrote: On Wed, Sep 24, 2003 at 10:27:02PM +0100, Andy Hassall wrote: Adding D:/oracle/ora92/precomp/lib/MSVC/oraSQL9.LIB to that link.exe command makes it link OK - and tests pass (except the usual trailing space one): Great. Thanks. Any chance you could send me a patch to Makefile.PL? I'll try and put one together tommorrow - haven't got Oracle 8i on this Windows machine at the moment - and I did the link manually by editing the link command rather than the makefile. Presumably it's going to need a similar version sort to the $OCILIB variable as it'll be oraSQL8.lib on 8i? FYI 1.15 on Linux / 9.2.0.4 compiles and links, all tests but ph_type pass. -- Andy Hassall ([EMAIL PROTECTED]) icq(5747695) (http://www.andyh.co.uk) Space: disk usage analysis tool (http://www.andyhsoftware.co.uk/space)