Re: ANNOUNCE: DBD::Oracle 1.17 release candidate 2

2006-01-11 Thread Tim Bunce
On Wed, Jan 11, 2006 at 10:06:57PM -, Andy Hassall wrote:
> Unable to read /u01/app/oracle/product/10.2.0/db_1/rdbms/demo/demo_xe.mk: No
> such file or directory at Makefile.PL line 1264.

> I think the following change made in r2377 is the culprit:
> 
>  # default to using XE .mk file if one exists
> -if (-s "$OH/rdbms/demo/demo_xe.mk" && !$::opt_m) {
> -$::opt_m = "$OH/rdbms/demo/demo_xe.mk";
> -warn "Looks like an Oracle XE, so we'll use $::opt_m\n";
> -}
> +$::opt_m ||= "$OH/rdbms/demo/demo_xe.mk";

> Should the change above be reverted?

I had meant it to revert it to an earlier version that looked like

  $::opt_m ||= "$OH/rdbms/demo/demo_xe.mk" if -s "$OH/rdbms/demo/demo_xe.mk";

but only did a half-baked job and didn't retest with my own XE.
Thanks.

> Or might it be better to call find_mkfile() earlier instead, to give
> $::opt_m a value (since the XE makefile is now in the list searched in
> find_mkfile)?
>
> Reverting the changed lines above works for me, but I don't have XE
> installed on Linux at the moment; I've only got that installed on Windows. I
> suspect if I install XE on Linux then it'll cause problems as it'll pick up
> the XE makefile, but use a non-XE home?

I remember adding demo_xe.mk to find_mkfile() but then deciding to go
with the $opt_m approach. It only looks for demo_xe.mk in ORACLE_HOME
and (I believe) demo_xe.mk doesn't exist in non-XE distributions.
But I'll take another look and the logic anyway.

> I'm trying to install XE on Linux now, but have run into some complications.
> If I can get it installed I'll post back with some results on how it
> interacts with the code above.
> 
> 
> 
> The good news is that 24implicit_utf8 appears to be passing where previously
> it failed, i.e. with:
> 
> Database 10.2.0.1.0 CHAR set is WE8ISO8859P15 (Non-Unicode), NCHAR set is 
> AL16UTF16 (Unicode)
> Client 10.2.0.1 NLS_LANG is '.UTF8', NLS_NCHAR is ''
> 
> ... at least from Linux 10gR2/full client (after fixing the Makefile.PL to
> get it to build). I'll run the other combinations again when I get a chance.

Thanks Andy. Those test runs are a great help.

Tim.


RE: ANNOUNCE: DBD::Oracle 1.17 release candidate 2

2006-01-11 Thread Andy Hassall
Linux build fails with RC2:


[EMAIL PROTECTED] ~/src/DBD-Oracle-1.17 $ perl Makefile.PL 
Using DBI 1.50 (for perl 5.008007 on i686-linux) installed in
/home/andyh/perl/lib/site_perl/5.8.7/i686-linux/auto/DBI/

Configuring DBD::Oracle for perl 5.008007 on linux (i686-linux)

Remember to actually *READ* the README file! Especially if you have any
problems.

Using Oracle in /u01/app/oracle/product/10.2.0/db_1
DEFINE _SQLPLUS_RELEASE = "1002000100" (CHAR)
Oracle version 10.2.0.1 (10.2)
Looks like Oracle XE
(/u01/app/oracle/product/10.2.0/db_1/rdbms/demo/demo_xe.mk)
Unable to read /u01/app/oracle/product/10.2.0/db_1/rdbms/demo/demo_xe.mk: No
such file or directory at Makefile.PL line 1264.


I get this regardless of which Oracle home I actually have in ORACLE_HOME
and PATH.

I think the following change made in r2377 is the culprit:

 # default to using XE .mk file if one exists
-if (-s "$OH/rdbms/demo/demo_xe.mk" && !$::opt_m) {
-$::opt_m = "$OH/rdbms/demo/demo_xe.mk";
-warn "Looks like an Oracle XE, so we'll use $::opt_m\n";
-}
+$::opt_m ||= "$OH/rdbms/demo/demo_xe.mk";


This ends up setting $::opt_m to an XE makefile even if it doesn't exist, so
it goes into the XE-specific branch below, and so never ends up calling
find_mkfile() in the generic "else" branch.

Should the change above be reverted?
Or might it be better to call find_mkfile() earlier instead, to give
$::opt_m a value (since the XE makefile is now in the list searched in
find_mkfile)?

Reverting the changed lines above works for me, but I don't have XE
installed on Linux at the moment; I've only got that installed on Windows. I
suspect if I install XE on Linux then it'll cause problems as it'll pick up
the XE makefile, but use a non-XE home?

I'm trying to install XE on Linux now, but have run into some complications.
If I can get it installed I'll post back with some results on how it
interacts with the code above.



The good news is that 24implicit_utf8 appears to be passing where previously
it failed, i.e. with:

Database 10.2.0.1.0 CHAR set is WE8ISO8859P15 (Non-Unicode), NCHAR set is
AL16UTF16 (Unicode)
Client 10.2.0.1 NLS_LANG is '.UTF8', NLS_NCHAR is ''

... at least from Linux 10gR2/full client (after fixing the Makefile.PL to
get it to build). I'll run the other combinations again when I get a chance.

--
Andy Hassall :: [EMAIL PROTECTED] :: http://www.andyh.co.uk
http://www.andyhsoftware.co.uk/space :: disk and FTP usage analysis tool 

> -Original Message-
> From: Tim Bunce [mailto:[EMAIL PROTECTED] 
> Sent: 11 January 2006 12:55
> To: dbi-dev@perl.org
> Cc: Paul Vallee; John Scoles
> Subject: ANNOUNCE: DBD::Oracle 1.17 release candidate 2
> 
>http://www.data-plan.com/public/DBD-Oracle-1.17-RC2.tar.gz
> 
> =head1 Changes in DBD-Oracle 1.17 RC2 (svn rev 2385)
> 
>   Fixed automatic csform setting for some UTF8 cases and for 
> Oracle 8.0
>   Fixed truncation error on fetch into UTF8 charset thanks to 
> Honza Pazdziora.
>   Fixed INTERVAL DAY TO SECOND thanks to Honza Pazdziora.
>   Fixed undef warnings when connecting with undef $user.
>   Fixed LOB streaming example thanks to Pablo Zorzoli.
> 
>   Added support for nested cursors in select lists thanks to 
> Charles Jardine.
>   Added "Trailing Spaces" section to docs thanks to Michael A Chase.
>   Added support for binary floats/doubles thanks to Dennis Box.
> 
>   Changed "Binding Cursors" docs, clarifying examples thanks 
> to Charles Jardine.
>   Changed Makefile.PL to avoid risk of sqlplus hanging thanks 
> to Mark Dedlow,
> and more reliably use correct sqlplus thanks to Honza Pazdziora.
>   Changed Makefile.PL to prefer ~/rdbms/public over other 
> ~/rdbms/* for .h files.
>   Changed Makefile.PL to improve build rule detection.
>   Changed Makefile.PL to improve cygwin build thanks to Andy Hassall.
>   Changed Makefile.PL to Instant Client build support thanks 
> to Hilmar Lapp.
>   Changed Makefile.PL to do VMS logical name checks thanks to 
> Jakob Snoer.
>   Updated README.vms re logical name tables thanks to Jakob Snoer.
>   Updated README.aix thanks to Stephen de Vries.
>   Updated README.macosx thanks to Stephen de Vries.
>   Renamed README.*'s to add .txt suffix to make life easier for some.
>   Removed README.utf8 since the topic was covered better in 
> the main docs.
> 
>   The Copyright terms for DBD::Oracle have been simplified 
> and now read:
> The DBD::Oracle module is free software; you can redistribute it
> and/or modify it under the same terms as Perl 5.
> 
> =cut
> 
> As before, any and all testing would be greatly appreciated, 
> but especially
> testing of building against Oracle Instant Client and Oracle XE
> on a range of platforms.
> 
> Thanks!
> 
> 
> I'm delighted to say that Paul Vallee, President and Founder of the
> Pythian Group (http://www.pythian.com), has committed the company to
> the ongoing development and maintenance of DBD::Oracle. You 
> may already
> have noticed John Scoles from Pythian being more acti

Re: ANNOUNCE: DBD::Oracle 1.17 release candidate 2

2006-01-11 Thread Steffen Goeldner

Tim Bunce wrote:


   http://www.data-plan.com/public/DBD-Oracle-1.17-RC2.tar.gz


On Oracle8:

 # failed test 34 at line 120. ORA-00904: invalid column name
(DBD ERROR: error possibly near <*> indicator at char 15 in '
   select <*>to_dsinterval(:p1) from dual
   ')
 not ok 34

Patch attached.


Steffen
Index: t/20select.t
===
--- t/20select.t(revision 2390)
+++ t/20select.t(working copy)
@@ -111,7 +111,7 @@
 } # end of run_select_tests
 
   my $ora_server_version = $dbh->func("ora_server_version");
-  if ($ora_server_version < 10) {
+  if ($ora_server_version->[0] < 10) {
 ok(0, 1, 1); # skip
   } else {
 my $data = $dbh->selectrow_array(q!