=head1 Changes in DBD-Oracle 1.25(svn rev 14411)
Added support for the OCIPing by John Scoles
Spell checked the pod (the first time in a while me thinks) updated the todo By John Scoles
Added support for DCRP (Database Resident Connection Pooling) by John Scoles with Luben Karavelov
Fix for odd error with Ping from Tom Payerle
Removed the NEW_OCI_INIT compile directive and the deprecated OCIInitialize calls
Fix for rt.cpan.org Ticket #=57256 : Double free problem in dbdimp.c by John Scoles
Fix for invalid format in trace of OCILobLocatorIsInit_log_stat reported by Martin Evans Fixed by John Scoles
Fix for very odd UNKNOWN OCI STATUS 1041 (OCILobFreeTemporary) on disconnect reported by John Parker and Bob Mcgowan fixed by John Scoles
Fix for rt.cpan.org Ticket #=55445: get_info(28) SQL_IDENTIFIER_CASE seems to return the wrong value from Martin J Evans and a bunch of re jigging from John Scoles
Patch for PL/SQL: numeric or value error: character string buffer too small from Scott T. Hildreth
Fix for rt.cpan.org Ticket #=51594 type_info and type_info_all miss vital information from John Scoles
Added ora_lob_is_init function by John Scoles
Fix for rt.cpan.org Ticket #=55031 Ubuntu Server Building with Oracle XE under 32-bit from Brian Candler
Fix for rt.cpan.org Ticket #=56810 bug with multiple nested cursor from John Scoles
Fix for bug found only on Big-Endian hardware reported by Timothy Everett and others from Charles Jardine
Fix for memory leak when using prepared_cached and lobs reported by Mark Bobak and Martin Evans found and fixed by John Scoles and a test from Martin Evans
Added more entries to the Readmes from John Scoles
=head1 Changes in DBD-Oracle 1.24_01(svn rev 14060)
This release has been prepared specifically for the 'Debian' http://www.debian.org project. It contains no changes
to functionality or usage. The following has been changed
Fixed some formatting and typos in Pod from Julián Patiño
The Copyright terms for ora_explain have changed and now read as follows:
You may distribute under the terms of either the GNU General Public
License or the Artistic License, as specified in the Perl README file.
=head1 Changes in DBD-Oracle 1.24(svn rev 13793)
Extended precision for OCIDateTimeToText to 6 instead of 0 for embedded types from John Scoles
Extended support of Oracle Embedded objects from Charles Jardine
Added support for RowsInCache as RO and RowCacheSize as a set-able value on the Statement Handle. So it would comply with DBI spec By John Scoles with thanks to Martin J. Evans
Added extended support for 64 bit clients in Makefile.PL from Ralph Doncaster
Added extended nvarchar support from Jan Mach
Added support for the TYPE attribute on bind_col and the new DBI bind_col attributes StrictlyTyped and DiscardString from Martin J. Evans
Added ora_ncs_buff_mtpl and environment var ORA_DBD_NCS_BUFFER so we can control the size of the buffer when doing nclob reads
Fix for rt.cpan.org Ticket #=49741 Oracle.h has commented out params in OCIXMLTypeCreateFromSrc from Kartik Thakore
Added from rt.cpan.org Ticket #=49436 Patch to add support for a few Oracle data types to type_info_all from David Hull
Added from rt.cpan.org Ticket #=49435 Patch to add support for a few Oracle data types to dbd_describe from David Hull
Fix for rt.cpan.org Ticket #=49331 Bad code example in POD from John Scoles
Added support for looking up OCI_DTYPE_PARAM Attributes
Added support for looking up csform values
Fix for rt.cpan.org Ticket #=46763,46998 enhancement -Rowcache size is now being properly implemented with row fetch buffer from John Scoles
Fix for rt.cpan.org Ticket #=46438 enhancement -Errors returned by procedures are now unicode strings from Martin Evans, John Scoles and Tim Bunce
Fix for rt.cpan.org Ticket #=47503 bugfix - using more than 1 LOB in insert broken from APLA
Fix for rt.cpan.org Ticket #=46613 bugfix - sig-abort on nested objects with ora_objects=1 from TomasP
Fix for rt.cpan.org Ticket #=46661 DBD::Oracle hangs when insert/update with LOB and quoted table name from APLA
Fix for rt.cpan.org Ticket #=46246 fetching from nested cursor (returned from procedure) leads to application crash (abort) from John Scoles
Fix for rt.cpan.org Ticket #=46016 LOBs bound with ora_field broken from RKITOVER
Fix for bug in 58object.t when test run as externally identified user from Charles Jardine
=head1 Changes in DBD-Oracle 1.23(svn rev 12724)
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
=head1 Changes in DBD-Oracle 1.22(svn rev 11618) 1st Aug 2008
Patch to remove compiler warnings from H.Merijn Brand
Patch to Makfile for 64bit boxes from Alex Laslavic
Added OCILobGetLength to lob functions from Milo van der Leij
Updated readmes to state the test user has to have create, call and drop a procedure privileges by John Scoles suggested by Gisle Aas
Patch to Makfile to prevent the installation of the lib/DBD/mkta.pl fil from Gisle Aas
Added new Test 31lob_extended.t for use of LOBs when returned via stored procedures with bind_param_inout from Martin Evans
Update to connection part of POD from John Scoles
Fix to test suite to bring it up to standard from Martin Evans
Fix for memory hemorrhage in bind_param_inout_array found by Ricky Egeland, Fix by John Scoles
Fix for a typo in oracle.xs from Milo van der Leij
Fix for bugs on SPs with Lobs reported by Martin Evans, Fix by J Scoles
Changed the way Ping works rather than using prepare and execute it now makes a single round trip call to DB by John Scoles
Fix for rt.cpan.org Ticket #=37501 fail HP-UX Itanium 11.31 makefile also added the OS and version to the output of the Makefile.PL for easier debugging. from John Scoles and Rich Roemer
Added a number of internal functions for decoding OCI debug values from John Scoles
Fix for hpux 11.23 linker error unrecognized argument on the Makefile from someone on CPAN forum
Added fetch by piece for lobs, fixed persistent lobs and expansed thier usage for LONG and LONG RAW and changed to pod to reflect the changes from John Scoles
Added comment to POD on case sensitivity of ORACLE environment variables suggested by Gerhard Lausser
Added patch to fix a number of harmless, but annoying, GCC warnings from Eric Simon
Added (finally) ora_verbose for DBD only tracking from John Scoles and thanks to H.Merijn Brand
Fix for rt.cpan.org Ticket #=32396 from John Scoles
Fix for memory leak that snuck into 1.21 from John Scoles
Fix for rt.cpan.org Ticket #=36069: Problem with synonym from John Scoles
Fix for rt.cpan.org Ticket #=28811 ORA_CHAR(s) not returning correct length in functions and procedures from John Scoles
Makefile.PL now working without flags for Linux 11.1.0.6 instant client and regular client from John Scoles, Andy Sautins, H.Merijn Brand, Nathan Vonnahme and Karun Dutt
Fixed how persistent lob fetch works now uses callback correctly, from John Scoles & Darren Kipp
=head1 Changes in DBD-Oracle 1.21(svn rev 11067) 11th April 2008
Added Notes to README.win32.txt on installing Instant Client 11.1.0.6.0 from 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
=head1 Changes in DBD-Oracle 1.20(svn rev 10517) 11th January 2008
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
=head1 Changes in DBD-Oracle 1.19 (svn rev 8002) 3rd November 2006
Fixed execute_array to comply with DBI standard from Martin J. Evans, Xho Jingleheimerschmidt and others
Fixed execute_array so it will not throw a Perl warning on undef values in Tuples from John Scoles
Fixed execute_array so it will take the ora_array_chunk_size DB handle attribute
Fixed some typos in code and READMEs from John Scoles
Fixed a few other little bugs dealing with compatibility with Oracle 8
Changes to README from Karl Auer
Suppress warning in 26exe_array.t from Philip Garrett
Added support for array context aware execute_for_fetch from Martin J. Evans
Fixed Makefile.PL for an incompatibility with ExtUtils::MM_Unix v1.50 (invoked byExtUtils::MakeMaker) from Dennis McRitchie
Updated POD to reflect that OCI after 9.2 no longer strips trialing spaces
=head1 Changes in DBD-Oracle 1.18 (svn rev 6697)
Added support for native Oracle Array interface thanks Kristian Nielsen
Added suppot for LOB Locators from Jeffrey Klein.
Updated README.win32.txt for Oracle 10xe and new Visual C++ version
Updated README.lunix.txt for work-araound for UTF8 bug
Fixed a number of compile warings
please enjoy.
=head1 Changes in DBD-Oracle 1.17 (svn rev 3726)
Updated README.win32.txt fixed some typos
Fixed expanded support for Lobs support from Jeffrey Klein
Added notes on expanded support for Lobs to Oracle.pm
=head1 Changes in DBD-Oracle 1.17 (svn rev 3725)
Added expanded support for Lobs from Jeffrey Klein
=head1 Changes in DBD-Oracle 1.17 (svn rev 2487) 7th February 2006
NOTE: With this release of DBD::Oracle pythian.com (http://www.pythian.com)
are taking on the role of lead maintainer - with my support and gratitude.
John Scoles at pythian.com is now the man in the hot seat for support and
maintenance!
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.hpux.txt and restructured examples thanks to H.Merijn Brand.
Updated README.aix thanks to Stephen de Vries and Nathan Vonnahme.
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.
=head1 Changes in DBD-Oracle 1.16 (svn rev 515) 22nd October 2004
NOTE:
This release has major changes to Unicode support. See below.
It no longer supports the old Oracle 7 OCI interface.
It requires DBI >= 1.38 for some of the tests if using Perl 5.6.
It no longer supports Perl 5.5 or earlier.
Fixed placeholder names to be case insensitive thanks to Charles Jardine.
Fixed some LOB test problems with Oracle 8.1.7 by implementing ora_lob_append
with OCILobGetLength() and OCILobWrite(), instead of buggy OCILobWriteAppend(),
if the Oracle client version is < 9.0. Thanks to Jeff Urlwin.
Fixed handling of temporary LOBs thanks to Chris Donnelly.
Fixed memory leaks in auto LOB refetch code thanks to Dongqiang Bai.
Fixed reporting of length truncated in error message thanks to Jeff Urlwin.
Fixed column_info() to handle TIMESTAMP and INTERVAL datatypes
for Oracle >= 8 thanks to Stephen Clouse.
Fixed STORE to cache attribute value in handle cache.
Fixed seg fault returning LOB Locators reported by Raj Chandran.
Fixed binding to allow overloaded scalars (not for 'inout' params).
Fixed setting of $DBI::err to 0 triggering PrintWarn in DBI >= 1.41.
Fixed some edge cases in row cache sizing.
Fixed truncation error fetching very small numbers (1 ^ -130).
Fixed Oraperl to not enable PrintError or AutoCommit (broken since 1.13).
Changed some utf8 internals for LOBs.
Changed ORA_OCI constant from being just 7 or 8 to being a dualvar:
in numeric context returns the major.minor version number (8.1, 9.2 etc)
in string context it returns the full "major.minor.foo.bar" version string.
Changed some SUCCESS_WITH_INFO situtions to be treated as a "warning"
by setting $DBI::err to "0" (and so trigger PrintWarn in DBI >= 1.43)
eg "ORA-28011: the account will expire soon; change your password now"
and package compilation errors.
Added automatic support for UTF-8 for both NLS_LANG and NLS_NCHAR
Many thanks to Lincoln Baxter who did most of the hard work and testing
and to Jeff Urlwin and others who also helped out.
Perl 5.8.x and Oracle 9+ are highly recommended if you want to use Unicode.
See POD for more information and documentation.
Added support for "... RETURNING lob_locator_column INTO ?"
using $sth->bind_param_inout(2, \$loc, 0, {ora_type => ORA_BLOB});
Added bind_param() ora_csform, ora_csid, and ora_maxdata_size attributes.
Added bind_param() support for SQL_BLOB & SQL_CLOB thanks to Stephen Clouse.
Added $dbh->ora_can_unicode and $dbh->ora_nls_parameters thanks to Andy Hassall.
Documentation changes:
Corrected typo in ora_lob_read() example thanks to Johannes Wierny.
Corrected LOB example thanks to Sascha Pfalz and Thomas Upton.
Updated README.macosx thanks to Hilmar Lapp.
Updated README.hpux thanks to Gram Ludlow and Lincoln Baxter.
Added $dbh->reauthenticate($user,$pass) docs thanks to Andy Hassall.
Added $dbh->{ora_parse_error_offset} docs thanks to Andy Hassall.
Added gcc example to README.aix thanks to Adrian Terranova.
Added INSERT ... RETURNING ... example prompted by Steven Lembark.
Build Changes:
Fixed build32/build64 Makefile.PL bug spotted by Sean Kelly.
Fixed Oracle version detection on clients thanks to Marko Asplund.
Fixed Oracle 10 version detection on clients thanks to Andy Hassall.
Fixed HP-UX 64bit build issues thanks to Weiguo Sun.
Fixed VMS build issues thanks to Jakob Snoer.
Fixed suprious warning from Makefile.PL thanks to Marko Asplund.
Fixed compiler warnings thanks to Robert Baron.
Fixed oci.def for Cygwin by adding OCILobWriteAppend thanks to Gert-Jan Paulissen.
Changed to use ANSI C prototypes thanks to Steffen Goeldner.
Changed to not warn if ORACLE_HOME env var is not defined
as it's not used with Oracle's new 'Instant Client'.
Added Test::More as a prerequisite module.
Added many Unicode related tests thanks to Lincoln Baxter.
=head1 Changes in DBD-Oracle 1.15 27th January 2004
NOTE: DBD::Oracle now requires DBI version 1.28 (June 2002) or later.
NOTE: This is probably the last release that will support being
built with the old Oracle 7 OCI interface.
NOTE: This release will build for perl 5.5 only after some manual edits
which are detailed in README.help. Future releases may not build for 5.5.
Perl 5.5.3 is very old and and upgrading to at least 5.6.1 is recommended.
The DBI itself has required perl >= 5.6.0 since DBI 1.38, August 2003.
Fixed Makefile.PL for HPUX thanks to H.Merijn Brand & Sweth Chandramouli.
Fixed Makefile.PL for handling 32/64bit libs thanks to Lincoln Baxter,
Sean Kelly, Joel Van Boeckel and others. Oh the fun we've had.
Fixed Makefile.PL error typo thanks to Martijn Koster.
Fixed to build okay for Oracle 8.0.x and for older C compilers.
Fixed minor omission in t/ph_test.t thanks to Tom Malaher.
Fixed for extproc_perl (http://search.cpan.org/author/JHORWITZ/extproc_perl/)
Fixed Oraperl handling of ora_errno and ora_errstr thanks to Martin Busik.
Fixed PRECISION for "NUMBER" to be 126 not 0 thanks to Steffen Goeldner.
Fixed bind_param_inout() for placeholders not assigned to in PL/SQL.
Changed bind_param_inout for CHAR types to no longer use a minimum
length of 28 characters. Warning: this change may break code that
doesn't pass bind_param_inout() a length value large enough for the
returned string. (The minimum length was not documented and should
not have been relied upon. This change currently only applies to the
CHAR type but may extended to all string types in a later release.)
Changed type_info_all() to return the same type info as Oracle's own
ODBC driver does, thanks to Andy Hassall for the data.
The types include LOBs but not the new TIMESTAMP and INTERVAL types.
Added direct access to LOB Locators and major LOB Locator functions
such as $sth->ora_lob_read(...), $sth->ora_lob_write(...) etc.
This work was sponsored by Geospiza Inc.
Added LOB Locator example docs thanks to Mark Dilger at Geospiza.
Added TIMESTAMP [WITH [LOCAL] TIME ZONE]] support
thanks to Stephen Clouse and Robert Wyrick.
Added INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND support.
Added warning for bad DSN string format thanks to Michael A Chase.
Added /*+RULE*/ hint to metadata method SQL thanks to Andy Hassall.
Added README.linux thanks to William Fishburne, Stephen Clouse and Brent LaVelle.
Added README.aix thanks to KC, Mike Paladino and Rafael Caceres.
Added connect example using OS authentication thanks to Bob Thomson.
Added prepare("...", { ora_placeholders => 0 }) to disable placeholders.
Added docs for returning a recordset (table/array) using Oracle >=9.0.1
via "FUNCTION foo RETURN type PIPELINED" thanks to Steve Baldwin.
Added docs on ora_check_sql=>0 in prepare() to avoid server-side parses.
Added support for sharing database connections with ProC/SQLLIB code
via ora_use_proc_connection attribute, thanks to Kristian Nielsen
needs build time option thanks to Steffen Goeldner
Added (restored) the error "possibly near <*> indicator" marker for
syntax errors thanks to Jason Hitt and Andy Hassall.
Added $dbh->{ora_parse_error_offset} attribute thanks to Andy Hassall.
Added auto setting of $dbh->{Username} if not given to connect
i.e. using Oracle OS authentication and connecting as "/"
by selecting SYS_CONTEXT('userenv','session_user') from the db
thanks to Eric Lenio and Andy Hassall.
Updated README.macosx thanks to Danial Pearce and William Goedicke.
Updated README.help for UnixWare thanks to Earle Nietzel.
Updated PL/SQL cursor examples, plus Oracle.ex/README and curref.pl
examples thanks to Michael A Chase.
Updated PL/SQL example setup thanks to Bob Kline.
=head1 Changes in DBD-Oracle 1.14 27th March 2003
NOTE: OCI 7 and Oraperl will not be supported in future releases.
Implemented inserting NULL values into LOB fields using placeholders,
(sponsored by bayerwald-fenster.de thanks to Bernhard Donaubauer).
Fixed broken get_info() due to missing GetInfo.pm #2274.
Fixed compiler warnings/errors thanks to H.Merijn Brand.
Fixed bind_param with array ref to croak not warn, reported by Steven Roels.
Fixed "Bad hash" error using $sth->{ParamValues} if there were no placeholders.
Fixed Makefile.PL for more HPUX/Oracle configurations thanks to Lincoln Baxter.
Simplified MacOS X build thanks to Brook Schofield, see README.macosx.
Updated README.hpux thanks to H.Merijn Brand, Jay Strauss, and Lincoln Baxter.
Updated README and README.utf8 with minor changes thanks to Alexey Mahotkin.
=head1 Changes in DBD-Oracle 1.13 14th March 2003
Fixed null user issue when using OS Authentication thanks to Christopher R. Baker
Fixed precision for Raw types in oci7.c thanks to J.D. Laub.
Fixed LOB code for table names containing $ thanks to Wayne Volkmuth.
Fixed LOB synonym handling thanks to John Milton.
Fixed dbms_output_get to be immune to ora_ph_type changes thanks to Michael Fox.
Fixed to now not treat SUCCESS_WITH_INFO (eg ORA-28011) on connect as an error.
Updated table_info to decode SYS and SYSTEM to prepend 'SYSTEM ' thanks to Olga Voronina
Updated table_info and added get_info, foreign_key_info thanks to Steffen Goeldner.
Added that ShowErrorStatement is now enabled by default.
Added ParamValues attribute so ShowErrorStatement includes bind_param values.
Added experimental utf8 support thanks to Stefan Eissing. See README.utf8
Added BFILE support thanks to David Hull.
Added :ora_session_modes export tag for ORA_SYSDBA ORA_SYSOPER constants,
added ORA_STRING and ORA_CHARZ to :ora_types export tag and added docs
for ora_ph_type attribute and other doc fixes, thanks to Michael A Chase.
Added t/cursor.t tests thanks to Jeffrey Horn.
Added ability to share connections between threads via ora_dbh_share
attribute, thanks to Gerald Richter.
Added ability to connect() via 'external process context', for embedding
Perl DBI into Oracle server, thanks to Jeff Horwitz.
Documentation changes:
Updated README.hpux thanks to Lincoln Baxter and Jay Strauss.
Documented ora_parse_lang, ora_auto_lob, and ora_check_sql prepare()
method attributes thanks to Michael A Chase.
Configuration and build related changes:
Added Win32 support on systems with multiple Oracle Homes thanks To Jeff Urlwin.
Fixed prototype for constant() thanks to Sreeji K Das.
Fixed warning in Oraperl.pm with recent perl versions thanks to Ilya V.Rachkov.
Fixed handling of shell backticks in make output during build rule discovery.
Fixed Win32 build using gcc thanks to Chris R. Donnelly and Michael A Chase.
Help HPUX configs by removing -l:libcl.a from liblist, thanks to Frans Postma.
Assorted improvements to Makefile.PL thanks to Michael A Chase and Stephen Clouse.
Updated tests and Oraperl.pm to not use old style connect (deprecated in DBI 1.33).
=head1 Changes in DBD::Oracle 1.12 31th August 2001
Improved LD_RUN_PATH code in Makefile.PL thanks to John Groenveld.
Improved HPUX code in Makefile.PL thanks to H.Merijn Brand.
Fixed handle/descriptor name code to be less Oracle version sensitive.
Updated $dbh->primary_key_info() to new DBI spec thanks to Steffen Goeldner.
Version 1.11 was skipped (uploaded to PAUSE with an error).
=head1 Changes in DBD::Oracle 1.10 30th August 2001
Explicitly require DBI version 1.20 (or later).
Support multiple oracle home's in Win32 registry thanks to Jeff Urlwin.
Improved build support for Oracle >=8.1.7 (I_SYM) thanks to Stephen Close.
Fixed LOB bug when writing non-string values thanks to Stephen Close.
Fixed t/ph_type.t to be better behaved thanks to Ville Skytta.
Added OCI8 handle/descriptor name to trace output for some API calls.
=head1 Changes in DBD::Oracle 1.09 27th August 2001
Changed behaviour when OCIStmtExecute() returns OCI_SUCCESS_WITH_INFO:
used to be treated as OCI_SUCCESS, now also sets $DBI::err/$DBI::errstr
and will therefore trigger RaiseError/PrintError if they are set.
Fixed ins/upd of LOBs in views thanks to Tom Moore.
Fixed reading of CLOBs in wide characters sets.
Fixed 'inherited AUTOLOAD for non-method DBD::Oracle::ORA_OCI' problem.
Workaround very long column names causing failure thanks to Martin Busik.
Added $dbh->primary_key_info() thanks to Steffen Goeldner.
Added $sth->cancel method thanks to Fredrik Sjoholm.
Added mention to registry to login failed hint thanks to Tim Callaghan.
Changed type_info_all VARCHAR2 max length to 4000 if using OCI8.
Removed use of perl global PL_no_modify to avoid linkage problems.
Old OCI7 API:
Fixed OCI7 memory leak from statement handles thanks to Bret Haeler.
Fixed OCI7 PRECISION for RAW data types thanks to J.D. Laub.
Fixed old OCI7 LONG buffer overwrite bug thanks to Bruce Templeton.
(I thought I'd done this before but perhaps now it's done right.)
Build:
Fixed default build to set LD_RUN_PATH at build time. Yeah.
Fixed parsing of Oracle's .mk files to handle += (appending values).
Fixed detection of 'OCI' dire for Win32 Oracle >=8.1 thanks to many.
Improved test for gcc in Makefile.PL thanks to Ian Kallen.
Improved build rule detection thanks to Jonathan Segal.
Don't merge text from Oracle's .mk into generated Makefile (use -f to reenable).
Fixed bad test in plsql.t so shouldn't give false negatives.
Added t/ph_type.t to test placeholder type issues thanks to James Jurach.
Retested for perl 5.4.4 for possibly the last time. You have been warned.
In future I'll only be testing on perl >= 5.5.3 and >=5.6.1.
Documentation:
Documented workaround for hang in "repetitive connect" test thanks to Alexi Lookin.
Short version: add bequeath_detach=yes to sqlnet.ora file.
Documented ora_oratab_orahome connect attribute (Oracle OCI 7 only).
Documented ora_module_name connect attribute thanks to Renzo Toma.
Added IRIX linking advice into README.help thanks to Dennis Box.
Added AIX core dump on disconnect advice into README.help.
Added docs on how Oracle determines the timezone thanks to Brad Howerter.
Added 'return cursor function' example to docs thanks to Michael A. Chase
Added more notes to README.java thanks to Peter Ludemann and Dave C.
Added more notes to README.login thanks to Geoff Young.
=head1 Changes in DBD::Oracle 1.08 7th August 2001
Fix Oracle 7 build broken in previous release.
Fix for 64bit builds thanks to Alan Burlison.
Fix for 9i Makefile.PL thanks to Dong Wang.
Added Oracle.ex/curref.pl thanks to Geoffery Young.
REF types are now returned in a form usable with Oracle::OCI module
when using Oracle >= 8.1.x (untested at the moment)
Updated Makefile.PL and README.hpux thanks to Lincoln Baxter.
=head1 Changes in DBD::Oracle 1.07 5th June 2001
This release is mostly targeted at the needs of the new Oracle::OCI module.
It's not a general release and not recommended for production use.
Fixed SCALE/PRECISION/TYPE values for numeric types, including FLOAT,
to be more correct thanks to Steffen Goeldner.
NOTE: this may break code that depends on the old values!
Fixed Win32::TieRegistry and Tie::Registry usage thanks to David Bradford.
Fixed insert/update of LOBs while AutoCommit enabled.
Fixed error in 'LOB value truncated' error thanks to Paul Walmsley.
Fixed old oci7 LONG buffer overwrite bug thanks to Bruce Templeton.
Fixed ocitrace.h not to trip up some compilers.
Added table_info() search attribs thanks to Steffen Goeldner and Olga Voronova.
Implemented some reworking of the placeholder handling, especially
in relation to the start of some basic array support.
Updated email and web page details to dbi-users@perl.org and dbi.perl.org.
=head1 Changes in DBD::Oracle 1.06 14th July 2000
Fixed ora_ph_type attribute to allow 96 or 97.
Fixed compile failure with Oracle 7.
=head1 Changes in DBD::Oracle 1.05 13th July 2000
Added $dbh->{ora_ph_type} attribute to define default bind type:
1=> VARCHAR2, does strip trailing spaces, embedded \0 bytes okay
5=> STRING, doesn't strip trailing spaces, embedded \0 ends string
96=> CHAR, doesn't strip trailing spaces, embedded \0 okay
97=> CHARZ, doesn't strip trailing spaces, embedded \0 ends string?
The two CHAR types force 'blank-padded comparison semantics'.
Needs testing and documenting, volunteers most welcome!
Added (many) typecasts to avoid compiler warnings thanks to Denis Goddard.
Added ability to pass existing DBD::Oracle select statement handle
(cursor) back _into_ Oracle as a ref cursor type thanks to Mike Moretti.
Note that this enables a workaround for closing ref cursors:
$dbh->do("BEGIN CLOSE :cursor; END;", undef, $sth_ref_csr_to_close);
Improved Win32 support in Makefile.PL thanks to Michael A. Chase.
Workaround Win32::TieRegistry FETCH error during global destruction.
Re-enable row cache by default for OCI8 (can give big speed increase).
Fixed bug in OCI8 row cache calculation thanks to Greg Stark.
=head1 Changes in DBD::Oracle 1.04 11th July 2000
Added info on workarounds for Java thread related linker errors
on Solaris with Oracle 8.1.6. Thanks to Andi Lamprecht.
Fixed memory leak on connect. Thanks to Jeffrey W. Baker.
Fixed memory and ref cursor leaks. Thanks to Mike Moretti and John Tobey.
Fixed SEGV on insert/update or many LOBS. Thanks to Honza Pazdziora.
Fixed treating SUCCESS_WITH_INFO from finish() as an error.
Fixed passing of attribs to connect thanks to K.Takaoka.
Fixed cursor binding example in docs thanks to Michael Chase.
Build using otrace/demo/atmoci.mk as last resort thanks to Chris Sylvain.
Improved reliability of "perl Makefile.PL -b" configure option.
Improved reliability of t/plsql.t cursor tests. Hopefully.
Improved reliability of ping method.
Fixed broken SQL type warning in bind_param.
=head1 Changes in DBD::Oracle 1.03 12th July 1999
Added "perl Makefile.PL -b" configure option. Links DBD::Oracle
using same linker args as Oracle's own OCI demo applications.
Added connect("dbi:Oracle:host=foo;sid=bar", ...) syntax.
Added OCI8 function trace at level 6, useful for Oracle support.
Added ora_session_mode attribute to connect (eg SYSDBA/SYSOPER).
Added test for Oracle security problem. See README.sec.
Updated ora_explain tool to v1.1 thanks to Alan Burlison.
Contributions from Michael Chase (plus docs from Andy Duncan):
Documented plsql_errstr & dbms_output_enable/_put/_get.
Enhanced $dbh->func('plsql_errstr') output.
Replaced old Oraperl examples with DBI/DBD::Oracle ones.
=head1 Changes in DBD::Oracle 1.02 14th June 1999
LongReadLen no longer limited to 64KB for OCI 7 & 8!
But beware of OCI 7 bug when fetching >64KB.
See t/long.t for more details.
Fixed OCI7 ref cursor missing data row.
Fixed OCI8 LOB statement handle leak & improved trace.
=head1 Changes in DBD::Oracle 1.01 8th June 1999
Enhanced diagnostics in t/long.t test suite.
Removed byte with high-bit set from t/long.t test data.
Disable finish if database disconnected or perl is terminating.
Made t/general.t work with other NLS settings.
Added Cygwin support thanks to Alexander Smishlajev.
Fixed 'undeclared identifier' error building with old Oracle's.
=head1 Changes in DBD::Oracle 1.00 4th June 1999
Increased default row cache size for improved performance.
Added OCI8 binding of cursors! Sponsored by cp.net.
Added OCI7 binding of cursors! (Was easier after OCI8 work :-)
Added OCI8 blob_read (only for LOBs not LONGs) thanks to Jim Lawson.
Added OCI8 re-authentication thanks to John Tobey.
Added t/long.t test script for LONG/LONG RAW/CLOB/BLOB handling.
Length of fetched LONG RAW string now 2 * LongReadLen for OCI7 & 8.
Fixed LONG fetches being one byte longer than LongReadLen.
Fixed OCI8 non-reporting of LobWrite error.
Fixed OCI8 "LongReadLen too small and/or LongTruncOk not set" hint.
Fixed OCI7 probable cursor leak.
Fixed ping method to be more robust. This should fix
the "morning bug" problem with Apache::DBI.
Fixed t/general.t core dump thanks to Donald Buczek.
Fixed ora_check_sql prepare attribute (for selects).
Fetch errors (non-row level) now turn off the Active attribute.
=head1 Changes in DBD::Oracle 0.61, 9th April 1999
Fixed execute() always returning 0 rows! (with OCI 7).
Fixed $sth->bind_param(..., SQL_CHAR);
Assorted minor Makefile.PL improvements.
Added ora_check_sql attribute to prepare() for OCI8.
=head1 Changes in DBD::Oracle 0.60, 10th March 1999
Fetching all records now resets Active flag as it should.
Finally fixed "Can't bind unknown placeholder" (hopefully :-).
Fixed placeholder parser to ignore comments, thanks to JD Laub.
Fixed placeholder parser to ignore double-quotes strings.
No longer changes ORACLE_HOME to match oratab, by default.
Fixes for OCI 8:
Fixed selection of very large numbers (132 digits).
Fixed small memory leak in parameter binding.
Fixed small memory leak in prepare of statements using LOBs.
Fixed binding empty strings.
Fixed OCILobRead error when fetching of zero length LOBs.
Fixed OCILobWrite of zero length to use OCILobTrim instead.
Treat SUCCESS_WITH_INFO from OCIStmtExecute as SUCCESS.
Enabled OCI_CRED_EXT login thanks to Alan Burlison & Jeremy Brinkley.
Modified hints/svr4.pl - SVR4 users please test.
Updated Alan Burlison's ora_explain Tk tool to version 1.0.
=head1 Changes in DBD::Oracle 0.59 (Oraperl 1.37), 27th December 1998
Fixed detection of ambiguous LOB-param-to-table-field assignment
(previous fix had typo). Only affects multiple LOBs in same table.
Added support for Oracle 8's "... RETURNING foo,bar INTO :foo,:bar"
for simple scalar types (not LOBs or arrays) via bind_param_inout.
Cleaned up the code.
Improved Oracle 8 library selection code for Win32 (untested).
=head1 Changes in DBD::Oracle 0.58 (Oraperl 1.37), 22nd December 1998
Fixed detection of ambiguous LOB-param-to-table-field assignment.
Added bind_param ora_field attribute to disambiguate if needed.
=head1 Changes in DBD::Oracle 0.57 (Oraperl 1.37), 21st December 1998
Fixed bug preventing fetching LONGs when using OCI 8, better.
(Oracle bug #641812 not involved. Should work for all 8.0.x)
=head1 Changes in DBD::Oracle 0.56 (Oraperl 1.37), 19th December 1998
Fixed bug preventing fetching LONGs when using OCI 8.
(Oracle bug #641812 may still cause failure prior to v8.0.5.)
Fixed LongTruncOk to work when using OCI 8.
Fixed bug in table name detection code for OCI8 LOB refetch.
SCALE & PRECISION work for OCI 7 & 8.
=head1 Changes in DBD::Oracle 0.55 (Oraperl 1.37), 16th December 1998
Major internal work to support Oracle 8 OCI.
Oracle 8 LOBs are supported and treated as LONGs (DBD::Oracle works
hard to hide the complexities of handling Lob Locators for you).
See Oracle 8 section in the docs for more details.
Added $sth->{TYPE}.
SCALE & PRECISION are implemented but return 0 (Oracle bug?).
DBI 1.02 or later is required.
Assorted build time Makefile.PL improvements.
Builds with 5.004_04, 5.005_02 and 5.005_54 (not _53).
Added "use DBD::Oracle qw(:ora_types);"
=head1 Changes in DBD::Oracle 0.54 (Oraperl 1.37), 14th August 1998
Added $dbh->type_info_all.
Fixed $dbh->tables (partly by renaming to new $dbh->table_info).
data_sources no longer adds abbreviated versions of tnsnames.
Alan Burlison's whizzo Tk based explain script now bundled.
Revised workaround for "Can't bind unknown placeholder '3'" errors.
Doubled default automatic row cache size (now approx 5KB).
The resetting of Oracle's SIGCHD handler to SA_RESTART can
now be disabled by setting the env var DBD_ORACLE_SIGCHLD=0.
Fixed Makefile.PL -c to better avoid shared Oracle lib.
=head1 Changes in DBD::Oracle 0.53 (Oraperl 1.37), 3rd August 1998
Further build fixes (esp kpudc problem with Oracle 8).
Now prefers oracle.mk over proc.mk again.
Only $ENV{ORA_CLIENT_LIB} ||= 'shared' if shared lib exists.
Builds okay with 5.005-thread (not tested).
=head1 Changes in DBD::Oracle 0.52 (Oraperl 1.37), 28th July 1998
Assorted build fixes (esp. Win32, HP-UX and AIX).
More hints on error messages, especially long truncation and
field-level errors when fetching.
Compiles okay now for systems without SQLT_CUR defined.
Only sets SA_RESTART on SIGCLD if connect was successful.
=head1 Changes in DBD::Oracle 0.51 (Oraperl 1.37), 5rd July 1998
Makefile.PL no longer tries to link with just -lclntsh directly :-(
Improvements to some HP-UX builds (hopefully).
DBI->data_sources ' dummy ' value removed (and list now sorted).
connect failure now shows actual Oracle error message again.
Initial (incomplete) support for binding cursor vars (see t/plsql.t).
=head1 Changes in DBD::Oracle 0.50 (Oraperl 1.36), 3rd June 1998
Makefile.PL changes: fixed -c option, now searches for .h files,
tries alternate location for sysliblist, checks for executable
orainst/inspdver before using it.
Fixed cursor leak.
Added first word of tnsnames.ora name as aliases if no clash.
=head1 Changes in DBD::Oracle 0.49 (Oraperl 1.36), 1st June 1998
Further improvements to build process over 0.48.
Fixed broken truncation error in 0.48.
Fetch ORACLE_SID from Win32 registry (thanks to Preston Bannister)
Improved automatic row cache sizing (prompted by Jon Meek).
Added $sth->{ora_cache_rows} and $sth->{ora_est_row_width}
as read-only attributes to make cache size logic easier to test.
=head1 Changes in DBD::Oracle 0.48 (Oraperl 1.36), 25th May 1998
THIS IS AN EXPERIMENTAL RELEASE - USE WITH CAUTION!
Now links to -lclntsh directly (Thanks to Bruce Nelson and others)
Workaround for broken backticks after login (Thanks to Warren Jones)
Now finds and reads tnsnames.ora to disambiguate dbnames in connect.
Added basic support for bind_param(..., SQL_TYPE).
Fixed bind_param_inout after execute.
Added dbms_output_(enable|put|get) functions.
Added $dbh->ping.
Added DBI->data_sources('Oracle');
$sth->rows now warns if called for select before rows fetched.
Fixed RAW types to not truncate.
Improved quality and clarity of trace information.
Requires DBI 0.92
=head1 Changes in DBD::Oracle 0.47 (Oraperl 1.35), 8th Sept 1997
$h->{InactiveDestroy} = 1; now works reliably (with DBI 0.90).
Makefile.PL changed for Oracle8. Thanks to Philippe Vanhaesendonck.
Long params now work. Thanks to Michael Harvey.
(Long params don't yet work for inout params.)
AutoCommit flag now per-dbh. Thanks to Irving Reid.
Fixed panic: _dbd_rebind_ph when binding an undef.
Added $dbh->ping method (for Apache::DBI users).
Some field-level fetch errors didn't cause the fetch to fail
(the field was simply set undef).
LongReadLen now works (if $Oraperl::ora_trunc unset or <= 0)
LongTruncOk now works (for non oraperl mode handle).
=head1 Changes in DBD::Oracle 0.46 (Oraperl 1.34), 20th June 1997
Fixed Makefile.PL to work with 5.004_01.
Some VMS support from Dan Sugalski <sugalsd@stargate.lbcc.cc.or.us>
If ORACLE_HOME isn't set, Oracle.pm no longer tries to guess it.
bind_param_inout now checks for read-only variables.
Requires DBI 0.84.
=head1 Changes in DBD::Oracle 0.45 (Oraperl 1.33), 16th June 1997
A $dbh DESTROY without an explicit disconnect does a rollback.
Note that this may 'break' existing 'lazy' code but is completely
essential for robust applications. See comments in Oracle.xs.
Added Makefile.PL changes from Eric Bartley and others.
The changes should fix build problems for Oracle 7.3.x.
Requires DBI 0.83.
Oraperl now uses DBI->connect and thus works with DBI 0.81 to
automatically support Apache without requiring script changes.
Reworked parameter binding in preparation for future changes.
- mutated placeholder values are now automatically rebound.
- in/out vars that become undef/null after binding now work.
- transparent support for longs should be easier to implement.
Added Win32 support from Jeff Urlwin.
Added some documentation to DBD::Oracle for 'perldoc DBD::Oracle'.
Most tests now converted to standard t/*.t format.
Added $sth->{NULLABLE}->[$field].
Added private plsql_errstr method: $txt=$dbh->func('plsql_errstr')
to fetch PL/SQL error messages. Thanks to Bob Menteer.
Added $sth->{ora_pad_empty} and ORAPERL_PAD_EMPTY env var
for better compatibility with old oraperl.
Added $sth->{AutoCommit} FETCH.
Added $sth->{ChopBlanks} (but not yet tested).
No longer asks Oracle for text of login failure message since
that can cause oracle's code to hang (sigh). We provide fake text
for the most common errors and a useful default for the rest.
You can set DBD_ORACLE_LOGIN_ERR env var to revert to old behaviour.
The Copyright terms for DBD::Oracle have changed and now read as follows:
You may distribute under the terms of either the GNU General Public
License or the Artistic License, as specified in the Perl README file,
with the exception that it cannot be placed on a CD-ROM or similar media
for commercial distribution without the prior approval of the author.
=head1 Changes in DBD::Oracle 0.44 (Oraperl 1.30), 14th Jan 1997
Fixed leak in read_blob (thanks to Jurgen Botz for the patch).
Improved automatic cache sizing (so better default caching).
Negative cache size specifies desired cache/transfer size in bytes.
Added $rowid = $csr->{ora_rowid} attribute (untested, please test).
(Use via $csr->bind_param(1, $rowid, { ora_type => 11 });)
Queries returning LONG's are no longer cached (so there's no
need to set the cache to 1 explicitly to get read_blob to work).
Added a test using string type with bind_param_inout in test.pl.
Worked around the rather sad VMS linker case insensitivity.
Worked around VMS linker length warning on XS...disconnect_all.
Makefile.PL deletes non-existant files from $(COMPOBJS)
(thanks to aburlison@cix.compulink.co.uk for the original patch)
=head1 Changes in DBD::Oracle 0.43 (Oraperl 1.30), 29nd Oct 1996
Fixed serious 'false ora_errno 1 after short select' bug.
Worked around oracle bug that makes cda->ft unreliable.
Do not use DBD::Oracle 0.41 or 0.42.
Cursors are now 'describe'd at prepare time thus making
NUM_OF_FIELDS always available. Describe does nothing for
non-select operations. NUM_OF_FIELDS > 0 is now used to
select between oexec() and oexfet() in execute().
Added more internal debugging. Improved test.pl.
=head1 Changes in DBD::Oracle 0.42 (Oraperl 1.30), 28nd Oct 1996
Fixed serious 'cache empty after re-bind' bug.
Do not use DBD::Oracle 0.41.
Implemented oexfet (combined execute and cache fetch) for
select operations. This is a further significant speed up.
Many selects now make only one trip to Oracle (after prepare)
which combines the execute and fetching multiple rows.
=head1 Changes in DBD::Oracle 0.41 (Oraperl 1.30), 22nd Oct 1996
Added the long overdue row cache to DBD::Oracle.
(Thanks to Reetnem@aol.com for providing a patch that prompted
me to complete the work.)
Oraperl $ora_cache and cache parameter to ora_open now work.
Default cache size is adjusted automatically for row width.
Major reworking of field buffer memory management.
Added a more internal debugging.
Further updates to the README files.
=head1 Changes in DBD::Oracle 0.40 (Oraperl 1.29), 14th Oct 1996
WARNING - This release contains significant changes to the
placeholding binding code. You should test it carefully
before using in live systems.
Implemented PL/SQL output values via $sth->bind_param_inout.
See the code at the end of test.pl for example usage.
Binding is now implemented using obndra rather than obndrv.
This may have a subtle effect when matching char fields
against placeholders with trailing spaces.
Fixed bind_param ora_type attribute. Thanks to Stephen Zander
for the patch. Updated README's. Added README.longs.
=head1 Changes in DBD::Oracle 0.39 (Oraperl 1.29), 23rd Sep 1996
Fix for DEC "target := MACRO = string" Makefile syntax.
Added README notes from Dave Moellenhoff, Lou Henefeld and others.
Added README.login from James Taylor.
Added README.client with various notes about building DBD::Oracle
on minimaly configured client systems.
Extra parameters to ora_do are now passed to DBI's do().
(This is an extension to the original oraperl ora_do.)
=head1 Changes in DBD::Oracle 0.38 (Oraperl 1.28), 22th Aug 1996
Overhaul of Makefile variable parsing. Should now cope with
complex variables which expand to nested shell escapes.
Try perl Makefile.PL -v to watch the fun.
Updated README, Makefile.PL and test.pl messages for clarity.
Fixed possible memory corruption in dbd_bind_ph().
=head1 Changes in DBD::Oracle 0.37 (Oraperl 1.28), 25th July 1996
Fixed Makefile.PL for Oracle 7.3.2.
Fixed $num_fields = ora_fetch($csr) before first fetch for
queries with bind vars.
Fixed occasional core dump on global destruct.
=head1 Changes in DBD::Oracle 0.36 (Oraperl 1.28), 10th July 1996
Fixed bind_param ora_type attribute.
Fixed preparse to allocate enough memory for worst case.
Fixed broken HP-UX 10 check in Makefile.PL.
Other assorted Makefile.PL improvements.
(Many thanks to those who sent in fixes.)
=head1 Changes in DBD::Oracle 0.35 (Oraperl 1.28), 21st June 1996
Fixed broken Solaris 2.5 check in Makefile.PL.
Added ld path to the log.
=head1 Changes in DBD::Oracle 0.34 (Oraperl 1.28), 21st June 1996
Workaround Solaris 2 bug #1224467 (_rmutex_unlock).
With many thanks to James Taylor.
Added 'Bad free()' warning suppression to ora_logon and
ora_logoff(). Setting the DBD_DUMP environment variable
will trigger a (handy for me) core dump if a Bad free
warning is detected.
Further additions to the README about Bad free()'s.
=head1 Changes in DBD::Oracle 0.33 (Oraperl 1.27), 19th June 1996
Added Makefile.PL -g option to enable debugging.
Added Makefile.PL -s symbol_name option to search for symbols.
Reorganised the way Makefile.PL uses MakeMaker liblist code.
Oraperl defaults to the 'safe' (normal) mode of using the DBI.
Oraperl uses sigtrap on SEGV & BUS to give a perl stack trace.
Added README notes about -g option, core files and stack traces.
Small change to $dbname/$user/$passwd logic in connect.
=head1 Changes in DBD::Oracle 0.32 (Oraperl 1.25), 30th May 1996
Fixed memory leak when FETCH'ing attributes.
Fixed Makefile.PL FileHandle problem (forgot 'use FileHandle;').
Enhanced Makefile.PL support for Oracle 7.3.
=head1 Changes in DBD::Oracle 0.31 (Oraperl 1.25), 20th May 1996
Makefile.PL for HP-UX now defaults to dynamic for hpux >= 10.
execute (ora_bind/ora_do) now returns undef on error or the
number of rows affected (0 is returned as 0E0, hence true, for
okay but no rows affected or no row count available/applicable).
This matches the oraperl version 2.4 behaviour.
Made an attempt at supporting Oracle 7.3 (e.g. include's in proc.mk)
Please let me know if it works (else supply patches to fix it :-)
Fixed small memory leak in ora_titles etc functions.
=head1 Changes in DBD::Oracle 0.30, 7th May 1996
THE ORAPERL EMULATION LAYER IS NOW FORMALLY RELEASED (NO LONGER ALPHA).
Note that the underlying DBI and DBD::Oracle interfaces remain alpha
because they are still subject to (possibly significant) change.
Oraperl v2 used to return the string 'OK' to indicate success
with a zero numeric value. The Oraperl emulation now uses the
string '0E0' to achieve the same effect since it does not cause
any -w warnings when used in a numeric context.
Fixed typecast warning (s/safefree/Safefree).
Automatically sets/resets ORACLE_HOME from oratab value for sid.
TO DO: Automatic configuration from Oracle 7.3 is not yet working
(Oracle have reorganised the makefiles yet again!).
=head1 Changes in DBD::Oracle 0.29, 2 March 1996
Fixed Makefile.PL to get DBIXS.h from right spot.
Changes to suit perl5.002 and site_lib directories.
Detects old versions ahead of new in @INC.
Random tidy-ups.
=head1 Changes in DBD::Oracle 0.28, 29 Jan 1996:
Minor release for Perl5.002 (beta2 or later).
Requires Perl5.002 and DBI 0.66;
Only functional change is to suppress (rare) 'handle not setup'
warnings unless debugging.
=head1 Changes in DBD::Oracle 0.27, 16 Nov 1995:
Improved oraperl compatibility in assorted ways.
Added the original oraperl manual to Oraperl.pm as pod.
(perldoc Oraperl will display the manual).
The manual highlights remaining differences in the emulation.
Added original oraperl examples into oraperl.ex directory.
Improved error reporting in test.pl.
Removed some internal limits.
Renamed readblob to blob_read and fixed return value.
Implemented $sth = $dbh->tables method (see DBI changes file).
Uses $Config{archlibexp} not $Config{archlib} in makefile.PL
Requires DBI-0.65.
I've still not got around to implementing a row cache (array
fetch) but it's next on my list.
This should be the last alpha release of the oraperl emulation.
(The DBD::Oracle module itself will remain alpha for awhile yet.)
=head1 Changes in DBD::Oracle 0.26, 23 Oct 1995:
Removed error message (sql) size limits in parse and ora_error.
Fixed FETCH NUM_OF_PARAMS so it doesn't trigger a describe.
The ora_lengths and ora_types attributes work in non-oraperl mode.
=head1 Changes in DBD::Oracle 0.25, 26 Aug 1995:
User visible changes:
Fixed bug in parsing '?' style placeholders.
$sth->bind_param now checks for a too long LONG type string.
$sth->prepare now takes attributes:
ora_parse_lang => 0 | 1 | 2 (v6, auto v6/v7, v7)
ora_parse_defer => 0 | 1 (control defered parsing)
Other changes to be propogated to other drivers:
Added usage of new DBD_ATTRIB_* macros to XS and C code.
dbd_bind_ph return value inverted to make it consistent.
Added braces around XSRETURN_UNDEF in execute.
Checked for describe failure in FETCH.
Removed NumParams since it's now called NUM_OF_PARAMS in DBI.
Updated NEED_DBIXS_VERSION in Oracle.h
=head1 Changes in DBD::Oracle 0.24, 22 Aug 1995:
User visible changes:
$sth->bind_param method implemented (needs testing :-)
and new DBI $sth->bind_col* methods work for DBD::Oracle.
Other changes to be propogated to other drivers:
- Slight change to STORE functions to allow them to return status
if called as $h->STORE(...).
- Revised signature of dbd_bind_ph function and added a bind_param
method for it. Prototype moved from dbdimp.h to Oracle.h
- Revised execute method to use modified dbd_bind_ph function and
remove remaining oracle specifics.
- imp_xxh_t structures first element now called 'com' not 'dbihcom'
and new DBI macros used to access fields.
=head1 Changes in DBD::Oracle 0.23, 18 Aug 1995:
Fixed Oraperl.pm debug which was left on by default by accident.
Added small patches from Davide.Migliavacca@inferentia.it for
longs (dbtype_is_long, dbd_describe and dbd_st_readblob).
Added svr4 hints from Alan Burlison <aburlison@cix.compulink.co.uk>
Changed dbd_describe to return true for success (to be consistent).
=head1 Changes in DBD::Oracle 0.22, 17 Aug 1995:
Much more maturity, in line with the required DBI-0.60 release.
The .xs file is now very 'clean'. It's an excellent base for
developing other drivers. See notes in the DBI Changes file.
The oraperl &ora_do should be working now (along with $sth->do()).
It does not leak (as far as I can tell).
This release is stable enough for general use again (like 0.20).
Please test heavily.
=head1 Changes in DBD::Oracle 0.21, 15 Aug 1995:
NOTE: THIS IS AN UNSTABLE RELEASE!
It requires the closely related DBI 0.59 release.
See Changes file in that release.
Major reworking of internal data management!
Only execute and fetchrow have yet to move into dbdimp.c.
These were kept back since I plan other associated changes.
Known problems:
Warning mode is on by default so certain oraperl coding
styles cause warnings such as:
Statement handle ... destroyed without finish() at ...
disconnect(...) invalidates 1 associated cursor(s) at ...
In future oraperl mode handles will have those warnings disabled.
...other changes to numerous/minor to mention
=head1 Changes in DBD::Oracle 0.20, 1 Aug 1995:
Fixed core dump when binding an undef (treated as a NULL)
Binding a string longer that 2000 bytes will use LONG type.
Workaround OSF makefile and oratype.h problems
PL/SQL := construct will no longer confuse dbd_preparse()
=head1 Changes in DBD::Oracle 0.19, 21 June 1995:
Added $VERSION
disconnect_all now gives error 'not implemented'.
Reworked memory management, imp_dbh's are cached.
imp_dbh_t now has an in_use flag and generation counter.
st::DESTROY now checks its imp_dbh for validity.
&ora_do() now returns "OK" for 0 rows (as per oraperl).
Reworked logging to use DBILOGFP macro.
Now test code added to loop through logon/prep/fin/logoff.
=head1 Changes in DBD::Oracle 0.18, 17th June 1995
Makefile.PL: HPUX now builds with LINKTYPE=static automatically.
Fixed errors on logout/global destruction.
Added logout/global destruction test to test.pl.
Changed Oraperl.pm default mode from safe to fast (see func_ref()).
Added platform who's-who list to README.
Added $sth->readblob($field, $offset, $length [, \$dest) method.
(You need to add the following after line 80 in DBI/DBI.pm:
'readblob' => {'U'=>[4,5,'$field, $offset, $len [, \\$buf]']},
in order to access the new readblob method.)
=head1 Changes in DBD::Oracle 0.17, 9th June 1995
Further enhancements to proc.mk parsing (this should fix
the bug introduced in the last version which required the
manual editing of -lora etc into the link line).
Automatic use of proc16.mk if proc.mk not found.
Automatic use of -Xa if compiler is 'clcc' (CenterLine).
Further migration of code from Oracle.xs to dbdimp.c. This is
not complete but may give you a flavor of my current direction.
Fixed more warnings from pedantic compilers.
[Released with DBI 0.56]
=head1 Changes in DBD::Oracle 0.16, 25 May 1995
Makefile.PL more robust and flexible.
Code restructured - much more still to do.
Changes to ora_do. It's probably still not right.
[Released with DBI 0.55]
=head1 Changes in DBD::Oracle 0.15, 25 Apr 1995
Fixed all known build problems/core dumps/truncated data etc.
Returns undef for NULLS.
Bind vars still not supported (soon I hope).
Bind vars produce errors rather than being ignored.
Login usage of ORACLE_SID and TWO_TASK slightly revised.
test.pl now uses ORACLE_SID, TWO_TASK and ORACLE_USER if defined.
=head1 Changes in DBD::Oracle 0.14, 5 Apr 1995
Fixed assorted build and core-dump problems.
=head1 Changes in DBD::Oracle 0.13, 8th March 1995
"Another alpha release but hey, guess what, this one actually allows
you to fetch data :-)"
=head1 Changes in DBD::Oracle 0.12, 1st March 1995
"For DBD::Oracle I have implemented a fairly radical way to deal with
the nightmare of Oracle OCI makefiles. Rather than try to maintain a
*large* and complicated set of Makefile macros the DBD::Oracle
Makefile.PL now actually extracts the macros which oracle itself uses
from $ORACLE_HOME/rdbms/lib/oracle.mk! (The horses mouth, so to speak.)"
[Released with DBI 0.53]
=head1 Changes in DBD::Oracle 0.11, 24th Feb 1995
"The first fruits of that work are now available for the brave (or
foolhardy). Take note: this very much *unsupported* *alpha* software
(it does not even fetch records from oracle yet). Feel free to ftp it
but don't expect to do anything very useful with it."
Also first release of the Oraperl emulation module:
"Yes, that's real oraperl code and it works! The only addition is
the 'use DBD::Oraperl' line."
[Released with DBI 0.51]
=head1 ANCIENT HISTORY
12th Oct 1994: First public release of the DBI module.
(for Perl 5.000-beta-3h)
19th Sep 1994: DBperl project renamed to DBI.
29th Sep 1992: DBperl project started.
=cut