v0.24 1999.10.29
The "OF column..." part of the "FOR UPDATE" clause is optional.
Clarified the pod (or tried to at least).
This changes the behaviour of the updateable cursor patch added by
Dirk Koopman <djk@tobit.co.uk> in version 0.19_1. I hope nothing is
seriously broken by this change.
It does seem the best to let cursors be readonly by default and
explicitly change that if you want to update. The update of a cursor
without a "FOR UPDATE OF..." clause is not documented and could
go away at any time.
v0.23 1999.10.28
Now tries to discover whether a select-cursor should be opened READONLY
or not.
A select is opened READONLY unless there is a FOR UPDATE clause in the
select statement. This is done by a regexp in Ingres.pm, which might in
some cases (I just can't imagine which :-) could possibly give a false
positive - which will cause the select to take exclusive locks.
To allow the user to override the automatic readonly discovery is it
possible to write:
$sth = $dbh->prepare("Select....", {ing_readonly => $value});
v0.22 1999.10.26
The 'minor tweaks' to Makefile.PL for building on NT are added, thanks to
Bernard.ROYET@sncf.fr.
This release should build cleanly on NT.
v0.21 1999.09.16
It seems that a statement name can only be 23 characters long in Ingres 6.4
Fixed, thanks to Bruce W. Hoylman <bhoylma@advtech.uswest.com>.
v0.20 1999.09.01
This has been running without problems on several machines here for some
months now. Time to release it and see what (if anything) breaks.
Still to be done:
- linking on VMS (waiting for DBI to link w.o. problems on VMS).
- compiling without tweeking on NT (ran out of tuits).
- tracking the latest chenges in the DBI spec (meta data and cached
statements to name the most obvious).
V0.19_3 1999.05.25
- Cleanup of the code. Removal of some/all (?!!) of the core dumps.
No longer 'unaligned access'.
- Redo the check for re-preparation (still croak if a commit/rollback
has invalidated the statement).
Possibly fit for human comsumption. ;-}
V0.19_2 1999.02.06
- Added support for threaded perls, thanks to Alan Murray <murray@email.exide.com>
V0.19_1 1998.10.14
This is the first test of the forthcoming release 0.20. This is not
for public consumption - please use with care.
Do please report any problem to me <ht@datani.dk>.
- Don't export $sql_dbh etc as default. (Ingperl.pm)
Warning:
This may break code that uses one or more of:
$sql_drh $sql_dbh $sql_sth $sql_debug $sql_rowcount
Change:
use Ingperl;
to:
use Ingperl( qw[ $sql_dbh $sql_sth ] );
- Added support for updateable cursors (experimental), Thanks to
Dirk Koopman <djk@tobit.co.uk>.
- Upgrade to support DBI 1.00 (experimental):
. re-prepare statement, that have gone out of scope (eq. after a
commit/rollback etc). Just first bash at it :-(, ie. for now just
keep tabs on whether the statement is invalidated by commit.
. add the new meta-data fields (TYPE, SCALE, PRECISION)
Ingres doesn't return the SCALE information so that is undef untill
further notice!
. first bash at type_info_all
. added $dbh->table_info (so $dbh->tables also works thanks to DBI)
. added $dbh->ping
- Changed statement name from stmnt<12-digit-number> to
st<number>_<a-bit-of-the-select>, so that it maybe is possible to
see which statement is executing from eg. ipm.
This may have the adverse effect that Ingres runs out of buffer space,
because it leaves all prepared statements in the ???-buffer untill a
commit. This will only be a problem if you execute many different
statements in a transaction.
If this does become a problem please let me know. One solution is to
allow the user to define the statement name if neccessary (eg. though
the %attribs argument to prepare).
- Cleaned up some code here and there.
- OpenIngres 1.0 now requires patch 5301 (or later) as this fixes the
unfortunate problem with nullability and outerjoins. The code to work
around this problem is removed (it had strange sideeffects at times).
This should not be a problem for OpenIngres 2.0 or later.
It if definitely not a problem for Ingres 6.4; as outerjoins were
introduced in OpenIngres.
#### - Now builds cleanly on NT without changes to the makefile.
#### - Now builds cleanly on VMS (again)
- Now commits after inquiring for autocommit-state after connect. This
removes the nedd for the commit in:
$dbh = DBI->connect...
$dbh->commit;
$dbh->do("set lockmode....");
(Note #### = Not Yet Implemented)
V0.16 1998.02.05
- Ulrich Pfeifer found and fixed another couple of memory leaks.
- Called dbd_st_finish when dbd_st_fetch returns undef. This avoid the bug
reported by JD Laub <jdl@iasi.com> where the sequence
prepare - execute - fetch - execute
results in an error.
v0.15 1998.01.16
- Added '-lm -lc' to the lib list for SCO reported by Alexander Slinkin
<sas@arstel.ru>).
- Fixed some minor warnings from dbdimp.psc - Digital Unix 4.0b has a
good lint in it's C-compiler (Gary W Chapman <gwc1@acf3.nyu.edu>)
- Fixed bug that causes DBD::Ingres code to break when used with DBI-0.91s
(where Tim Bunce has fixed an autocommit bug). The error occurs when you
issue a statement that cannot be in a multi-statement-transaction just
after a commit - the test for autocommit has started a transaction.
v0.14 1997.12.16
Added ChopBlanks test to t/dbi.t
Ulrich Pfeifer found (and fixed) yet another memory leak in bind_params.
Reworked the code so that it also works on machines wheres ints are
not 4 bytes long.
Truncated some long lines (so they fit in an 80 char windows).
Documented lack of procedure call.
Fixed the VMS build problem - nobody needed it. Am I the only one that
uses Ingres, Perl and VMS??
v0.13 1997.11.28
Found (one of the) AutoCommit bug(s)! Needs an update to DBI to work
properly. (Autocommit state is not initialized).
Fixed serious memory leak in binding core (Thanks to Ulrich Pfeifer).
v0.12 1997.11.14
Remove the trailing "\n" from Ingres error messages, so that
$dbh->{RaiseError} and $dbh->{PrintError} can return a stack-traceback.
Add tests to dbi.t for {AutoCommit}, and get autocommitstate at connect-
time. (Ulrich Pfeifer).
Return UNDEF from $dbh->execute when errors occur. (Ulrich Pfeifer).
Fixed Ingperl.pm so that ingtest.pl runs without errors.
v0.11 1997.10.30
Bug in Ingperl.pm &sql_fetch used $sth instead of $sql_sth - funny
that nobody noticed before now.
v0.10 1997.10.07
Release version - VMS does'nt work quite right, but it can muddle through.
DBD::Test tests passed.
v0.05_96 1997.09.24
Added get_event func. Thanks to Ulrich Pfeifer.
Removed $dbh->rows. It was used by the ingperl emulation layer, and
could be avoided.
Updated the search strategy for DBIXS.h. Thanks to Jochen Wiedmann <wiedmann@Neckar-Alb.DE>
Switched to using the DBI-0.89 Driver.xs prototype.
v0.05_95 1997.09.19
Tried to parse selects and discover if they are outerjoins.
Added $attribs{"ing_outerjoin"} to $dbh->prepare.
Documented it a bit more.
v0.05_94 1997.09.18
Ulrich's patch for nullability added. Now I just need to check if there
is an outerjoin in the statement before deciding that all fields are
NULLABLE.
v0.05_93 1997.09.15
Ulrich's patch for locating DBD::Ingres somewhere else than DBI added to
Makefile.PL.
v0.05_92 1997.09.12 (early morning)
Ulrich Pfeifer <Ulrich.Pfeifer@de.uu.net> has come up with a solution to my
Makefile.PL problems with 'old' Ingres-versions. Thanks.
Ifdef'fed around Ingres6.4 (and earlier) non-awareness of DBMS_PASSWORD
$dbh->rows works again.
This version builds and tests cleanly for me.
Note that dbdimp.psc now is processed by a chain of 3 links:
perl (Makefile.PL), Esql/C, C-compiler!
Cross your fingers and hope nothing breaks.
v0.05_91 1997.09.11
I just got the binding to work. I hope :)
Now only $dbh->rows is mucked up.
v0.05_90 1997.09.10
Major rehaul
- added bind params - NOTE It doesn't work yet
- added password support
- HPUX must link statically
- RCS Revision bumped to 2.100 so CPAN can find its way around
- tried to adjust to the DBI-spec (as pr. DBI-0.90) with all Tim's new
ideas, $sth->{TYPE} now returns SQL_-values from DBI
- expanded pod
This is released as a "release early and often" version - respects to Eric
S. Raymond - for the not faint at heart.
V0.0504 1997.06.16
Dropped { ing_trim_blanks } again as Tim Bunce has added it to DBI.
Now needs DBI-0.82. (for this reason)
Expanded the pod (and adjusted it to reflect the new DBI-specs.
Tried to conform better to the DBI-spec.
V0.05_03 1997.04.30
Added attribs on connect and prepare.
{ ing_trim_blanks => 1 }
to cause trimming of trailing blanks.
The former change (from 0.05_01) is now reverted.
V0.05_02 1997.04.29
No changes. Just a number change as I can't upload the d... thing to
PAUSE.
V0.05_01 1997.04.16
Check on II_SYSTEM moved to connect (was at compile-time).
Improved library dectection for OpenIngres without installed ABF
component.
Improved Ingperl emulation (Ronald B. Irvin <rbirvin@usgs.gov>):
- &sql_fetch into scalar now returns first column of output
and warns if $sql_sth->{Warn} is true.
- Warnings from &sql_close without open cursor are now only
output if requested (uses $sql_sth->{Warn}).
- &sql_eval_col1 fixed.
Now known to work on DG-UX (Ronald B. Irvin <rbirvin@usgs.gov>).
Fetch(row) truncates trailing blanks from text-columns. This feature
can be disabled by setting $sth->{CompatMode} true. I was tired of
writing C<VARCHAR(column)> or C<$col=~S/\+$//;> all over the place!
WARNING: this may change old (DBD) code!!!
Ingperl sets CompatMode so Ingperl scripts are not affected.
Many other cleanups and buglet fixes.
V0.05 1997.03.20
Makefile.PL changed so that it can link OpenIngres.
Support for HP-UX added (thanks to Gil Hirsch <gilh@cpm.telrad.co.il>
and Tim Bunce <Tim.Bunce@ig.co.uk>)
Added support for DBI 0.77
V0.04 1997.01.17
The function DBD::Ingres::st:fetch has now been reinstated
(thanks to Tim Bunce <Tim.Bunce@ig.co.uk> who showed the way to
let case insentive linker handle case sensitivity)
V0.03 1997.01.09
Restriction on number of simultaniously open cursors removed
- inspiration from Dirk Kraemer (kraemer@rz.uni-kiel.de)
Multiple database connects possible
Must reuse statement numbers as the number of different
statement names between commits is limited by the available
parser memory. You get error:
E_PS0F02_MEMORY_FULL
There is no more available memory. Try again later.
when this happens.
DBD::rows does not change the session - will have to discover
whether this is a dbh or a sth to get the session number.
Tried (unsuccessfully) to use $dbh->{Database} in Ingres.pm
- any better ideas?
V0.0201 1996.12.18
Can now link dynamically on Unix
- thanks to Paul Lindner <lindner@itu.int>
Solaris fixes to Makefile.PL
- thanks to Dirk Kraemer (kraemer@rz.uni-kiel.de)
The bug in VMS MakeMaker has been fixed - require a
version that includes the fix!
Still need to improve the ingres.opt handling.