DBD::Pg with overloaded values (Re: MCPK / has_a deflation)

2003-09-24 Thread Tim Bunce
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

2003-09-24 Thread Jeff Urlwin
 
 
 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

2003-09-24 Thread Andy Hassall
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

2003-09-24 Thread Tim Bunce
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

2003-09-24 Thread Andy Hassall
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

2003-09-24 Thread Andy Hassall
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)