ANNOUNCE: DBD::Oracle 1.23 has Been Released.

2009-04-30 Thread John Scoles

The Sesame Street Version Of DBD::Oracle (1.23) has Been Released.

You can find it at CPAN DBD::Oracle.

DBD::Oracle is the Perl module that works with the DBI module to provide 
access to Oracle databases. It is maintained by me, John Scoles, under 
the auspices of The Pythian Group as open source/free software.


This release is another largely maintenance release that fixes a number 
of bugs.


New stuff includes the ability to fetch Oracle embedded types directly 
into an oracle object, a big thank you goes out to Tomas Pokorny for 
that patch.


Also UTF8 support has been expanded and cleaned up for BLOBs and 
execute_array and thanks go out to Milo van der Leij, David Mansfield 
for most of the work on this.


Also a big thanks Alex Buttery, Jim McCullars, Charles Jardine, Eric 
Simon, Chris Underhill who helped out with some clean up of the code, 
readmes and the pod.


I have also now added two private statement functions ora_stmt_type_name 
and ora_stmt_type which will get the OCI type name and type for the 
currently prepared statement.


*This is the complete change list*

   * Fix from rt.cpan.org ticket #=44788 bool in_lite should be char
 in_literal
   * Fix for UTF8 and blobs by John Scoles with Milo van der Leij
   * Fix for some warnings and one bug in ocitrace.h from Charles Jardine
   * Fix in case there may be a bug in 11 where the OCI_ATTR_DATA_SIZE
 my return 0 which should never happen, John Scoles
   * Fix on the Makefile.PL for a possible sql bug in IC from Martin Evans
   * Added a change from a suggestion from Martin Evans for making ref
 cursors faster.
   * Added rt.cpan.org Ticket #=42328 ora_objects attribute for
 extended embedded objects support from Tomas Pokorny
   * Fix for rt.cpan.org Ticket #=42328 user defined types from
 different schema in describe_obj from Tomas Pokorny
   * Added a README for sun suggested by Jim McCullars
   * Clean up of white space and formatting to 4 tabs from John Scoles
   * Fix for GCC 4.3 warnings from Eric Simon
   * Standardized the dbd_verbose levels so they are all 3 and over.
 from John Scoles
   * Added private statement functions ora_stmt_type_name and
 ora_stmt_type from John Scoles
   * Update to POD from Chris Underhill
   * Added README.win64.txt with content from Alex Buttery
   * Fix for rt.cpan.org Ticket #=21920 Bug with Oracle DBD for Mac OS
 X Instant Client From boingolover
   * Added a few more constants to get rid of magic numbers from John
 Scoles
   * Fix for rt.cpan.org Ticket #=38267 Inserts/Updates to BLOB's via
 synonyms fails from John Scoles
   * Fix for rt.cpan.org Ticket #=39603 build problem and fix missing
 functions in oci.def from Zoltán Sebestyén
   * Fix for rt.cpan.org Ticket #=39374 Makefile.PL: error when
 reducing echo messages from make from Tippa
   * Fix for rt.cpan.org Ticket #=39232 binding large XMLTYPE fails on
 64-bit perl from Jeff Klein
   * Fix for rt.cpan.org Ticket #=38749 Warning of a NULL column in an
 aggregate function also added ora_oci_success_warn to display
 silent OCI warnings from John Scoles
   * Patch for UTF8 check on execute_array from David Mansfield and a
 little by John Scoles



Announce DBD::Oracle 1.21

2008-04-14 Thread John Scoles

DBD::Oracle 1.21 Released
April 14th, 2008 - by John Scoles
The latest release of DBD::Oracle is now ready and can be found at: CPAN 
DBD::Oracle. It is a Perl module that works with the DBI module to 
provide access to Oracle databases. It is maintained by me, John Scoles, 
under the auspices of The Pythian Group as open source/free software.


The release has been fully tested with the latest version of DBI (1.601).

Below is the list of the changes and/or fixes in this release.

Changes in DBD-Oracle 1.21(svn rev 11067) 11th April 2008
Added Notes to README.win32.txt on installing Instant Client 
1.1.0.6.0from John Scoles
Added the oci_typecode_name method to get the name rather than just the 
number of an OCI_TYPECODE from John Scoles

Fixed a unreported bug with Embedded Objects from John Scoles
Fixes for #34621 & 33791 from RT cpan
Added patch to allow faster fetch from REF CURSORs from Biswadeep Chowdhury
Updated the Todo file for next version from John Scoles
Added support for the 10.2 Data Interface for Persistent LOBs by John Scoles
Changed the way pre-fetching is done by John Scoles
Added support for Scrollable cursors from John Scoles
Changed the max size of cache_rows to a sb4 rather than a int and or a 
ub4 from John Scoles
Added support for Lobs in select of OCI Embedded Objects from John 
Scoles with a big thankyou to  Paul Weiss

Fixed for embedded object in object from Paul Weiss
Added support for direct insert of large XML data into XMLType fields 
from Hendrik Fuss & John Scoles
Fixed memory leak (not releasing Temp Lob with OCILobFreeTemporary) when 
created for a bind from John Scoles
Added support for bind_param_inout_array for use with execute_array from 
John Scoles

Added enhancement for Embedded Objects handling from Paul G. Weiss
Fixed to Makefile.PL let it read makefiles from other makes from 
Alexander V Alekseev

Updated POD to tell users to Avoid Using "SQL Call" from Charles Jardine
Updated POD to account for rt.cpan.org #30910: "DBD-Oracle crashes when 
trying to read empty LOB" from John Scoles

Added DBD::Oracle impdata/threads patch from Jeffrey Klein

In this release there are a number of new features.

One important one you might want to have a look is support for binding 
an array for in-out  operations with  execute_array.

Given this sql;


   INSERT INTO foo (id, bar) VALUES (foo_id_seq.nextval, ?) RETURNING id
   INTO ?

and using execute_array to insert 200 records you will get an array back 
of the 200 new IDs inserted.


I have also added support for direct inserting of large XML files into 
an XMLType field.


Another important addition is support for Persistent LOBs if you are 
using Oracle 10.2 or later.  You can now treat LOBs as if they were any 
other form of data so say good-by to LOB locators.


Finally I have added support for native oracle 'Scrolling Cursors'.

There were also a number of bug fixes and code enhancements/updates as 
detailed above.


Cheers John Scoles


Announce DBD::Oracle 1.20

2008-01-14 Thread John Scoles

DBD::Oracle 1.20 Released
January 14th, 2008 - by John Scoles
The latest release of DBD::Oracle is now ready and can be found at: CPAN 
DBD::Oracle. It is a Perl module that works with the DBI module to 
provide access to Oracle databases. It is maintained by me, John Scoles, 
under the auspices of The Pythian Group as open source/free software.


The release has been fully tested with the latest version of DBI (1.601).

Below is the list of the changes and/or fixes in this release.

Fixed lob test so it skips the one test that relies on it if v$ session. 
From Rafael Kitover.


Fixed // with /* */ in dbdimp.c From John Scoles.
Fixed for execute_for_fetch in Oracle.pm returning 0 instead of 0E0. 
From Martin J. Evans
Added README.64bit.txt that contains help for compiling on 64 bit boxes 
from John Scoles

Fixed typo in Oracle.pm from Tom R.
Added support for ora_charset, ora_ncharset. From Stephen J. Smith
Fixed Makefile.PL for better handling of empty array in 
File::Find::find. From Slaven Rezic.

Fixed references to README.clients.txt in Makefile.PL. From John Scoles.
Added PERL_NO_GET_CONTEXT for better multi-threaded support. From John 
Scoles.

Changed required version of DBI to be 1.51. From John Scoles.
Fixed bug in 31lob.t. From John Scoles.
Added notes on installing Instantclient.rpm to README.Lunix.txt.
Added support for OCI array bind. From Alexander V. Alekseev.
Added support for select of OCI Embedded Objects. From John Scoles.
Added a tip in README.64bit.txt. From cartmanltd.
Added fix to Makefile.PL for finding SQLplus for Ubuntu Server (but 
should work for others). From Martin J. Evans.

Added fix to Makefile.PL for Gentoo AMD64. From Tom R.
Added fix to dbdimp.c for speed up of Null-Operations. From Andreas Behal.
Added fix to dbdimp.c for SQLCS_NCHAR index use on varchar2s. From Peter 
J. Holzer.
The first big addition is Alexander’s patch to add support for array 
binds with the SYS.DBMS_SQL.VARCHAR2_TABLE and SYS.DBMS_SQL.NUMBER_TABLE 
types in SQL calls.


The next big addition is support for selects of embedded the OCI object 
types OBJECT, VARRAY and TABLE in any combination and, as far as I know, 
unlimited depth. Support is seamless and recursive, which means you need 
only supply a simple SQL statement to get all the values in an embedded 
object as an array of scalars, or if your embedded object contains other 
objects or types, an array of arrays of scalars.


Please enjoy the new release, and keep an eye open for some blogs on how 
to use the new additions.


Cheers John Scoles


ANNOUNCE: DBD:Oracle 1.18

2006-07-24 Thread John Scoles

DBD::Oracle 1.18 has been released.

With this release DBD::Oracle finally implements Oracle's native Array 
Interface.  You will see very dramatic increase in speed.
For example; the time for a 2 million plus insert query dropped from well 
over an hour to less than 10 minutes when using execute_array() and the new 
code.

The new code is not 100% DBI compliant as it does not yet support named 
parameter binding,but it does support all the other forms of binding and has 
full support for return Tuples.  Many thanks to Kristian Nielsen for his 
original work on this code.

There is also expanded support for LOB Locators from Jeffrey Klein.

Finally there are number of little fixes and an update or two to the 
readmes.

please enjoy.

John Scoles

(Please note that it may take a little while for CPAN to update to the 
latest version so if you need the latest code you can always use the 
subversion URL
http://svn.perl.org/modules/dbd-oracle/trunk.)




ANNOUNCE: DBD::Oracle 1.17

2006-02-11 Thread John Scoles
After over 14 months a new release of DBD::Oracle is ready!

DBD::Oracle 1.17 has been released.

>From Tim Bunce:

: With this release of DBD::Oracle John Scoles at The Pythian Group
(http://www.pythian.com)
: is taking on the role of lead maintainer - with my support and gratitude.
: So I guess John you are now the man in the hot seat for support and
: maintenance!

Thanks Tim. So here I am in the hot seat making my first release.

Myself and many others at Pythian have been long time users of DBD::Oracle
and I'm delighted to be able to take the lead role in developing and
maintaining it.  I must give a special thank you to my boss here at Pythian,
Paul Vallee,  he has made an ongoing commitment to Tim and myself that this
work can be done on company time. This will give me the opportunity to
hopefully create releases more frequently.

Just a quick note about us at Pythian.  We are a groups of DBAs, SAs and a
few developers who provide remote DBA services to customers 24/7.  We have
made extensive use of DBD::Oracle in our Web and other critical internal
infrastructure since 1998. DBD::Oracle is also one of the key components in
our remote DBA package, and in AVAIL our database monitoring tool which is
installed on hundreds of systems worldwide. DBD::Oracle rules!

Thanks again to Tim for his support in guiding me through my first release
and all the others that have contributed DBD:Oracle.

Cheers

John Scoles.


=head1 Changes in DBD-Oracle 1.17 (svn rev 2493)   10th Febuary 2006

  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 unicode tests for cygwin thanks to Andy Hassall.
  Fixed undef warnings when connecting with undef $user.
  Fixed undef warnings from $dbh->get_info(18);
  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.
  Added INSTANCE_NAME, SERVER and SERVICE_NAME as valid connect keywords
in the 'dbi:Oracle:x=y' short form of connecting without tnsnames.ora.
For example 'dbi:Oracle:host=localhost;service_name=xe;server=dedicated'
  Added auto-detection of ORACLE_HOME in some configurations.

  Changed "Binding Cursors" docs, clarifying examples thanks to Charles
Jardine.
  Changed tests to use ORACLE_DSN or DBI_DSN env vars if defined thanks to
Jill Vogel.
  Updated README.vms re logical name tables thanks to Jakob Snoer.
  Removed README.utf8 since the topic was covered better in the main docs.
  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.

  Changes to Makefile.PL:
Instant Client support thanks to Hilmar Lapp, John Scoles and others.
Improved HP-UX support thanks to H.Merijn Brand.
Avoid risk of sqlplus hanging thanks to Mark Dedlow.
More reliably use correct sqlplus thanks to Honza Pazdziora.
Improved build rule and Oracle header file detection.
Improved cygwin build thanks to Andy Hassall.
VMS logical name checks thanks to Jakob Snoer.

  The Copyright terms for DBD::Oracle have been simplified and now read:
The DBD::Oracle module is free open source software; you can
redistribute it and/or modify it under the same terms as Perl 5.