The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes in DBD::Oracle 0.47 (Oraperl 1.XX), XXth June 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).

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.

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.

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)

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.

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.

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.

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.

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.)

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().

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.

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.)

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.

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.

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.

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.

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.

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!).

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.

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.

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.)


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.


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


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.


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).


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.


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

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()

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.
	

Changes in DBD::Oracle 0.18:

	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.)