I am using Perl 5.6.1, DBI 1.32 and DBD::Oracle 1.12. I have decided to upgrade to DBI 
1.35 BEFORE reporting a problem I am having.

I built DBI 1.35 with no problems. Then I tried to rebuild DBD::Oracle 1.12.

1) compile warning:
cc -c -I/opt/oracle/product/8.1.6/rdbms/demo
-I/opt/oracle/product/8.1.6/rdbms/public
-I/opt/oracle/product/8.1.6/plsql/public
-I/opt/oracle/product/8.1.6/network/public
-I/opt/oracle/product/8.1.6/rdbms/demo -I/opt/oracle/product/8.1.6/rdbms/demo
-I/opt/perl/lib/site_perl/5.6.1/sun4-solaris/auto/DBI -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O    -DVERSION=\"1.12\"
-DXS_VERSION=\"1.12\" -KPIC -I/opt/perl/lib/5.6.1/sun4-solaris/CORE  oci8.c
"oci8.c", line 267: warning: assignment type mismatch:
        pointer to function(pointer to struct imp_dbh_st {struct {..} com,
pointer to function(pointer to struct imp_dbh_st {..}, in... "=" pointer to void

This is probably NOT due to DBI 1.35, but I thought I'd report it anyway.

2) testing:

Because of this in DBI.pm:

sub connect {
     my $class = shift;
     my ($dsn, $user, $pass, $attr, $old_driver) = my @orig_args = @_;
     my $driver;

     if ($attr and !ref($attr)) { # switch $old_driver<->$attr if called in old style
->>>      Carp::croak("DBI->connect using 'old-style' syntax is deprecated and will be 
an error in future versions");
         ($old_driver, $attr) = ($attr, $old_driver);
     }

(which doesn't make sense to me because the croak seems to make the old-style
syntax be an error in this version!)

both t/plsql.t and Oraperl.pm fail tests.

I had to patch t/plsql.t thusly to get that to pass tests:

  my $dbuser = $ENV{ORACLE_USERID} || 'scott/tiger';
  # The existing line:
  #my $dbh = DBI->connect('', $dbuser, '', 'Oracle');
  # My change:
  my $dbh = DBI->connect("dbi:Oracle:",$dbuser);

but since I'm not sure how to patch Oraperl.pm that in a way that is most
flexible AND since no one in my organization uses it, I just renamed test.pl out
of the way. The original code is in Oraperl.pm causing the problem is:

my($system_id, $name, $password) = @_;
local($Oraperl::prev_warn) = $SIG{'__WARN__'} || 0; # must be local
local($SIG{'__WARN__'}) = sub { _warn($Oraperl::prev_warn, @_) };
# we still use the old style connect call with an explicit driver
my $dbh = DBI->connect($system_id, $name, $password, 'Oracle');

I have been using ORACLE_USERID=u/[EMAIL PROTECTED] for the past few releases. Is the 
use of
ORACLE_SID or TWO_TASK the recommended way to go now?

Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
    osname=solaris, osvers=2.6, archname=sun4-solaris
    uname='sunos nycux-ast401 5.6 generic_105181-31 sun4u sparc
sunw,ultra-enterprise '
    config_args='-d'
    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 ='-I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
    optimize='-O',
    cppflags='-I/usr/local/include'
    ccversion='WorkShop Compilers 4.2 30 Oct 1996 C 4.2', gccversion='',
gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib -L/opt/SUNWspro/SC4.2/lib '
    libpth=/usr/local/lib /opt/SUNWspro/SC4.2/lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -ldl -lm -lc
    perllibs=-lsocket -lnsl -ldl -lm -lc
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-KPIC', lddlflags='-G -L/usr/local/lib
-L/opt/SUNWspro/SC4.2/lib'


Characteristics of this binary (from libperl):
  Compile-time options: USE_LARGE_FILES
  Built under solaris
  Compiled at Jun 30 2002 22:00:52
  %ENV:
    PERL5LIB
="/am/common/lib/5.6.1:/am/common/lib/site_perl:/sa/common/lib/5.6.1:/sa/common/lib/site_perl"
  @INC:
    /am/common/lib/5.6.1/sun4-solaris
    /am/common/lib/5.6.1
    /am/common/lib/site_perl/5.6.1/sun4-solaris
    /am/common/lib/site_perl/5.6.1
    /am/common/lib/site_perl
    /sa/common/lib/5.6.1/sun4-solaris
    /sa/common/lib/5.6.1
    /sa/common/lib/site_perl/5.6.1/sun4-solaris
    /sa/common/lib/site_perl/5.6.1
    /sa/common/lib/site_perl
    /opt/perl/lib/5.6.1/sun4-solaris
    /opt/perl/lib/5.6.1
    /opt/perl/lib/site_perl/5.6.1/sun4-solaris
    /opt/perl/lib/site_perl/5.6.1
    /opt/perl/lib/site_perl
--
Matthew Persico
Vice President
Lazard
30 Rockefeller Plaza
New York, NY 10020, USA
Phone Number: 212 632 8255
Fax Number: 212 332 5904
Email: [EMAIL PROTECTED]



Reply via email to