Revision history for Perl extension DBD::Firebird.
1.31 [2017-12-05]
* Re-release with all tests (some were missing in MANIFEST in 1.30)
1.30 [2017-12-05]
* remove artificial hard-coded limit of 1_000_000 bytes when fetching BLOB
data
1.29 [2017-12-02]
* add /usr/local to the list of possible firebird homes [RT#123723]
* blob_type needs to be signed to be assigned/compared to -1
* bpb parameter to isc_open_blob2 is a pointer
* drop unused column character set definition
1.28 [2017-12-01]
* Update MANIFEST to include newly added tests
* add missing items in 1.27 changes
* correctly check for Test::CheckDeps presense
1.27 [2017-12-01]
* finish: do not check uninitialised status vector
If statement type is isc_info_sql_stmt_exec_procedure,
isc_dsql_free_statement is not called and there is no point checking the
status vector for errors. An error there may be from a previous call,
or just plain garbage
Fixes https://bugs.debian.org/883183 -- test failure on i386, and
http://www.cpantesters.org/cpan/report/e9ebeff4-d095-11e7-bc5d-91f60384196d, and
RT#110979
* add 000-check-dependencies.t
* Makefile.PL: move test dependencies in TEST_REQUIRES
* fix typo in 1.26 Changes
* POD: wrap some overly long lines
* add support for a 'timeout=$secs' parameter [RT#119764]
* bump years of copyright
* put fb_api_ver in XS and make it available to both embedded and regular
driver
* more constants for client version (major/minor/full version string)
1.26 [2017-11-12]
* TestFirebirdEmbedded: use a temporary directory for firebird locks and
database storage (RT#123623)
* fix typo in FirebirdEmbedded
* detect Firebird API version even when paths are supplied via environment
1.25 [2017-10-01]
* Add tests for values between 0 and ±1 to bigdecimal[_read].t
* dbd_st_fetch: fix conversion of numerics between -1 and 0
* add a variant of t/92_bigdecimal_read.t using numeric(18,10)
1.24 [2016-10-11]
* Fix 81-event-fork.t to not fail when FirebirdEmbedded is not available [dam]
1.23 [2016-10-10]
* Avoid compiler warning about implicit declaration of dbd_st_finish_internal
[dam]
* Add support for building/testing with Firebird 3 [dam]
* Fix a couple of typos, thanks to Nick Morrott of Debian Perl Group [dam]
* Explicitly undef the statement handle in dbi-primary-key-info.t, avoiding
an error during global destruction [dam]
1.22 [2016-01-30]
* require Math::BigFloat 1.55 for the 'try' import keyword [dam] (RT#110977)
* add test for RT#110979 [dam]
* 40-alltypes.t: replace non-integer numeric comparison with an approximate
one [dam] (RT#104699)
1.21 [2015-09-24]
* Update README[.md] [mapopa]
* Silence 'Missing argument in sprintf' warning on perl 5.22 [ilmari]
* Add support for the SAVEPOINT statement [Bram Stappers] (RT#107142)
1.20 [2015-04-27]
* Fix loading DBD::Firebird::TypeInfo with strict/warnings [ilmari]
* Added installation hint for Fedora, RHEL, CentOS and derivates [robert-scheck]
1.19 [2015-03-22]
* Fix $VERSION in Firebird.pm [mapopa]
* Fix typo in ISC_PASSWORD spelling [stefbv70]
* Positive logic and early return [Tux]
* Allow re-executing/fetch on prepared sth [RT#92810, Tux]
* Add rests for $dbh->{Name} and others [mjp]
* Implement $dbh->{Name} [mjp]
* Fix attributions to Mike Pomraning [mjp]
* use strict and warnings in all modules [dmn]
* add a test for inserting/fetching float and double numbers as an attempt to
reproduce RT#101650 [dmn]
* fix File::Which configure prerequisite declaration [RT#101672, dmn]
* 03-dbh-attr.t: plan tests after creating the TestFirebird object [dmn]
* Buffer Overflow in dbdimp.c [stefan.roas]
* use snprintf instead of sprintf everywhere [dmn]
1.18 [2014-03-19]
* a bit more verbose ok() calls in 90-event-ithreads.t
* disable threaded event tests under AUTOMATED_TESTING
* Makefile.PL: check for 'ibase.h' presense in potential include dir [Tux]
* allow empty (but still defined) DBI_PASS/ISC_PASSWORD for tests [Tux]
* add support for FIREBIRD_DATABASE in tests' environment [Tux]
* adjust double tests to not fail with -Duselongdouble perl builds [Tux]
* fix statement attr returns and rework 40-alltypes.t [Tux]
* update installation notes wrt threaded perl and OpenSUSE [Tux]
* add missing pointer initialization (RT#92821, Vadim Belov)
* dbd_st_finish: ignore "cursor already closed" error when closing the cursor
* dbd_st_execute: finish the statement if still active (RT#92810, HMBRAND)
1.16 [2013-12-02]
* Implement event objects as blessed scalar refs
* include event creation/destruction in 60-leaks.t
* Fix for the reference test for softcommit
* Update README
* Fix comment about setting firebird home
* Add markdown version of the README file
* Update Makefile.PL removing old platforms
* test invalid lock resolution with 'throws_ok'
1.15 [2013-09-09]
* Last release for today :)
* do not include fb_init/fb_sem in MANIFEST
* remove fb_sem on clean
* fix casting to ISC_SHORT/ISC_LONG in ib_fill_isqlda
1.14 [2013-09-09]
* skip only fork-based tests, and do that when
DBD_FIREBIRD_TEST_SKIP_EVENTS_FORK is present in the environment [dam]
1.13 [2013-09-09]
* Bring back 5.8 compatibility [ribasushi]
* add small delay before triggering events for ib_wait_event
(80-events-ithreads.t) [dam]
* skip ib_wait_event tests under AUTOMATED_TESTING [dam]
1.12 [2013-08-15]
* use fb_config if available for finding firebird directories
* drop usage of bytes_from_utf8 when feeding character data to firebird
* Produce sensible POD for DBD::FirebirdEmbedded
* Make embedded tests actually run when the libs are there (RT#81621)
* Do not package MYMETA
* Require Test::Exception that does not break caller()
1.11 [2012-09-25]
[Details: https://github.com/mariuz/perl-dbd-firebird/commits/release1.11]
* Test::Exception is required add to notes
* On freebsd Threaded perl is required you have to re-install perl from ports and you have to select the config option that says 'build a perl with threads'
* Test database to use UTF8 charset and enable UTF8 for the connection
* Fix CHAR lenght when using multi-byte character set Fixes #32 (RT#76506)
* additional debug when finishing already finished statement
* avoid double destroying of statement in auto-commit mode with DDL Fixes #30 (RT#72946)
1.00 [2012-04-03]
[Details: https://github.com/mariuz/perl-dbd-firebird/commits/release1.00]
* t/*event*.t: skip if DBD_FIREBIRD_TEST_SKIP_EVENTS is in the environment
* preliminary ISQL-like tool using DBD::Firebird
* implement the ParamValues statement attribute
* avoid unused return value warning when calling DBIh_EVENT2
* support Microsoft's compiler and other win32 fixes
* add Cygwin support
* add default FB location on OSX to Makefile.PL
* test for RT#72946 (->do segfault with active sth)
* Merge pull request #29 from rkitover/master
* check_and_set_cached_config: fix when test database is in ./
* Makefile.PL: report '(none)' when some of the firebird directories aren't found
* Makefile.PL: avoid adding -I"" to compiler command (closes #31)
* #74517: Adding support for Visual Studio 2010 (10.0) and VS 11.0 https://rt.cpan.org/Ticket/Display.html?id=74517
0.91 [2011-11-03]
[Details: https://github.com/mariuz/perl-dbd-firebird/commits/release0.91]
* fix small typo in Firebird.pm POD
* avoid using croak(char*)
* fix two cases of format strings != arguments on 32-bit OS
0.90 [2011-11-02]
[Details: https://github.com/mariuz/perl-dbd-firebird/commits/release0.90]
* Always pass cleanup test and just warn on failure.
* fix DBP_FILL_INTEGER
* Note other authors in the AUTHORS section
* drop inc/ from .gitignore
* skip vim swap files
* ignore *.bs and *.xsi regardless of the directory
* move test routines in a package (TestFirebird)
* Build-time generated DBD::FirebirdEmbedded
+ factor-out most of Makefile.PL in inc/FirebirdMaker.pm
+ enable FirebirdEmbedded only if libfbembed.so is available
+ really prevent multiple debugs by dbi_arch_dir
+ compile embedded dbdimp.c with -DEMBEDDED
+ t/cleanup: keep the test configuration file
+ create_test_database: cater for host-less databases (e.g. embedded)
+ rely on the ib_embedded dbh attribute for embedded detection
+ remove generated embedded tests on realclean
+ add test for the ib_embedded dbh attribute
+ print some info about libfbembed availability
+ support DBD_FIREBIRD_REQUIRE_EMBEDDED env. variable
* create_test_database: set test database forced writes off
* drop sleeping in ithreads test
* drop use_libfbembed usage
* diagnostics on database creation/drop
* move decoding of status into ib_error_decode
* implement DBD::Firebird->create_database
* add DPB_FILL_STRING_LEN macro for when we know the length
* use the driver instead of isql for creating the test database
* implement DBD::Firebird->gfix
* generic create_test_database
* check_database: rework without ISQL
* add ib_drop_database function
* tests: rework database dropping without ISQL
* rework tests 92 and 94 without ISQL
* build/test without ISQL
* db_login6: use determined database length
* db_login6: fix dbp ingrements for strings and integers
* db_login/charset: copy only SV content
* rework populating of DPB
* db_login6, gfix: abort if DPB length doesn't match projected
* mark all copied/mangled files for embedded as such
* add $ENV{CFLAGS} to CCFLAGS
* fix a format string warning on 32-bit CPUs
* Fix comment about MS platform requirement.
* avoid using warn(char*)
0.80 [2011-10-03]
[Details: https://github.com/mariuz/perl-dbd-firebird/commits/release0.80]
* Reimplement bind_param_array without calling bind_param calling bind_param is not necessary as we ignore $attr anyway it also causes problems when the column has non-NULL constraint this makes bind_param_array work again. Fixes RT 54561
* Append $Config{ccflags} to CCFLAGS This makes it possible for binary distributions to rebuild the module if perl's $Config{ccflags} is changed for whatever reason. Without this appending, binary compatibility can't be guaranteed. http://bugs.debian.org/643038
* Fix test skipping in t/75-utf8t and t/dbi-rowcount.t
* Add support for 'gnukfreebsd' platform This is the FreeBSD kernel with GNU userland. For our needs, this is identical
to 'freebsd' and 'linux'.Closes Debian bug http://bugs.debian.org/643717
* Define is_ascii_string for perls before 5.12.0 RC1 Fixes #23
* Cleanup temp files at the end of tests.
* Client only testing using the interactive test setup. Add host parameter to dns.
* Simplified condition to test the DB path.
0.70 [2011-09-26]
[Details: https://github.com/mariuz/perl-dbd-firebird/commits/release0.70]
* docs cleanup
+ use standard ROWS alternative to Mysql LIMIT
+ In firebird 2.5.x standard way is to use sequences
+ dialects cleanup
* tests-setup: avoid passing credentials on the command line
* link with libfbembed if given a special environment variable
* fix missing database check during tests
* t/81-event-fork.t when linked with libfbembed
* implement add ib_enable_utf8 dynamic attribute
* remove $Id$ markers from CVS/Subversion
* add test for RT#55244
* 47-nulls.t: ensure inserting undef in a non-null field fails
* fix $dbh->do() and $sth->execute() to properly return the number of affected
records
0.60 [2011-09-18]
[Details: https://github.com/mariuz/perl-dbd-firebird/commits/release0.60]
* Drop support for Firebird 1.0 and earlier
* Default dialect set to 3
* Fix ping() for Firebird 2.5+
* fix compiler warnings:
+ use printf formats matching the arguments
+ use 0 instead of NULL where an integer is expected
+ allocate XSQLDA as char array
+ fix conversion of decimal(x,y) to string
* use the decoded milliseconds when formatting times (also fixes a warning)
* do not link with libdl.so on linux
* fix joined lines in reserved words list
* add new keywords for Firebird 2.5 (part of #12)
* Removed restrictions on distribution
* Readme cleanup
* Build system:
+ Major overhaul by Stefan Suciu
+ prefer fbsql over isql
+ look also for isql-fb, used by Debian
+ add /usr as a possible fb_HOME
+ skip database tests inless DBI_PASS or ISC_PASSWORD is present
+ Added isql path to values shown by the script
+ check if found isql-like executale comes from firebird
* Tests
+ prepend default test database path with localhost:
+ check database path only if local
+ bigdecimal.t: use strings to avoid conversion to floats
0.55 [2011-06-24]
June 24,2011 - mariuz
* added osx patches and various Makefile.PL cleanups
June 23,2011 - mariuz+stefan
* made it to compile with perl 5.14 (old defines cleanup)
* alternative Makefile.PL with no questions asked (with default paths)
Jan 21, 2011 - mariuz+stefan
* make it work with strawberry perl
* cleanup , no support for old compiler bcc and sco
* no suport for interbase , we use only firebird
Mar 26, 2010 - mjp
* Fix corrupted representation of high-scale NUMERIC/DECIMAL values
(t/scale.t) (RT#55841)
Mar 13, 2010 - mjp
* DBI compliance/changes
- table_info() accepts specifiers
- tables() now returns quotes identifiers
- primary_key_info() supported
* t/31prepare.t adapt test to modern DBI (RT#53671)
* t/62timeout.t work around "object in use" failure on Firebird 2.1 (RT#53904)
* Interbase.pm respect and document $ENV{ISC_DATABASE} (RT#53997)
* .../InterBase/GetInfo.pm shorten SQL_DRIVER_NAME (RT#53674)
* Makefile.PL Allow local, remote and aliased db specifications during build (RT#55530)
* InterBase.xs, dbdimp.[ch] Switch to perlclib(1) equivalents of memory and
string management functions (addresses RT#49896)
Jan 08, 2008 - edpratomo
* maintenance release: 0.48
* fixed link problem when using perl-5.6.x (undefined PERL_UNUSED_VAR)
* prepare_cached() now works. added t/31prepare.t
* some code cleanup (compiler warnings suppressed)
* t/81event-fork.t now checks signal availability
May 20, 2007 - edpratomo
* fixed retval from ib_set_tx
* removed debug output from ib_tx_info
Oct 25, 2006 - edpratomo
* added ib_tx_info()
* added t/91txinfo.t
* added skip check for t/80event-ithreads.t if Perl version older than 5.8.8
* updated MANIFEST
Oct 24, 2006 - edpratomo
* fixed some croaks in InterBase.xs
* safer t/62timeout.t and t/90dbinfo.t
Oct 23, 2006 - edpratomo
* added support for wait timeout
* added -Wall and some warnings fixes
* dbkey_scope defaults to 0. configurable.
* added active_tran_count and creation_date req items for ib_database_info()
* added tests for ib_database_info() and wait timeout
Oct 14, 2006 - edpratomo
* applied patches from Michael Moehle for 64 bit platform
* added backward compatibility
* ib_error_check() reworked, with fb_interpret()
Sep 12, 2005 - edpratomo
* cleaned warnings when compiled with gcc-4.0
Sep 11, 2005 - edpratomo
* removed unused event state
* renewed dbd_init(); DBIh_EVENT2 call and DBIS were removed.
perl -pi.old -e
's/DBI_TRACE\((\d),\s*?\(DBILOGFP, ("[^"]+".*)\)\);/DBI_TRACE_imp_xxh(imp_xyz, $1, (DBIc_LOGPIO(imp_xyz), $2));/'
InterBase.xs dbdimp.c
followed by manual tweaking
* triggers cleanup in t/8[01]event-*.t
Sep 10, 2005 - edpratomo
* Updates to documentation regarding bugs, faq, and event
* fixed $how_many in t/81event-fork.t
* GetInfo.pm was regenerated using easysoft's firebird odbc driver,
unixodbc, DBI::DBD::Metadata, and DBD::ODBC, of course
* TypeInfo.pm was generated as well, and added to MANIFEST
* t/40alltypes.t, t/40datetime.t, t/41numeric.t now use find_new_table()
Sep 8, 2005 - edpratomo
* FAQ was moved into main documentation, maintaining docs at separate
places is difficult
* FAQ.pm and Bundle were removed from MANIFEST. Bundle is not necessary.
Sep 4, 2005 - edpratomo
* fixed segfault when destroying event handles in multithreaded app
* increased DBI version in Makefile.PL
* added t/80event-ithreads.t, t/81-event-fork.t, uses Test::More
* updated documentation
Aug 31, 2005 - edpratomo
* cleaned warnings about unused variables, different signedness
* make it compile with old gcc 2.96
* increased required DBI version - 1.41
Aug 30, 2005 - edpratomo
* manually applied patch sf #1042790 by freeduke for dbdimp.c to support
InterBase 7. typecasting changes are skipped.
* major changes to event API
* manually applied patch sf #1068671 by dstreifert
Aug 8, 2005 - edpratomo
* fixed bug sf #1171702 (memory leak when doing TM type timestamp)
Jan 14, 2005 - danielritz
* better error handling for blobs
* 30insertfetch.t, 40blobs.t with more tests
* prevent a possible buffer overflow in date handling
* don't accept blob bind param for SELECT statement
* remove pointless 'ib_cursorname' attribute. DBD does it automatically
Nov 26, 2004 - danielritz
* add CLONE() method to support threads
* update test scripts for newer DBI
Mar 3, 2004 - edpratomo
* make bind value with blessed scalar work again
Feb 25, 2004 - edpratomo
* Fixed memory write error in dbd_db_login6()
* update doc
Dec 6, 2003 - edpratomo
* Makefile.PL now works with remote test db
* Added $sth->func('ib_plan')
* Updated doc
* $sth->execute() now returns correct row count values for non-select stmt
Nov 19, 2003 - edpratomo
* Fixed bug #844954
Nov 16, 2003 - danielritz
* Make it work with Firebird 1.5
May 20, 2003 - edpratomo
* Fixed problem in ib_init_event() in filling IB_EVENT->names, caused segfault during destruction.
* Added skipping reason in t/60leaks.t
July 25, 2002 - danielritz
* cleanups, speedups
July 18, 2002 - edpratomo
* fixes by Sergey Skvortsov:
- fix INT64 for FreeBSD
- fix for ib_role parsing
July 18, 2002 - danielritz
* %lld as standard format for INT64
July 8, 2002 - danielritz
* numeric fixes for negative values like -0.9
July 1, 2002 - danielritz
* trace message can be deactivated
June ?, 2002 - danielritz
* fixes for ib event
* more cleanups, IB5 fixes
June ?, 2002 - edpratomo
* initial support for ib event
May ?, 2002 - danielritz
* fix EXECUTE PROCEDURE w/o return values
* compile fixes for IB5
* rollback can do isc_rollback_retaining
* cleanups
April 22, 2002 - danielritz
* fix EXECUTE PROCEDURE statments data fetching
April 5, 2002 - edpratomo
* Switching AutoCommit attribute now also affects active softcommit flags.
April 4, 2002 - edpratomo, danielritz
* Added ib_softcommit attribute, isc_commit_retaining now needs to be enabled
explicitly by users.
April 4, 2002 - danielritz
* Added set_tx_param() with no param which now resets TPB.
April 4, 2002 - edpratomo
* Updated t/40cursoron.t, t/70nestedon.t to use ib_softcommit
* Makefile.PL code indented properly, now load dbd_dbi_arch_dir() only once,
now prompts with directory name, `make clean` cleans trace.txt
* Updated documentation in InterBase.pm and FAQ.pm
* Changed the semantic of -reserving in set_tx_param(), now uses hashref
instead of arrayref.
* Fixed warnings when compiled with DBI >= 1.20
* Ilya addressed bug #429820 and some bug in sth_ddl.
February 14, 2002 - ilyaverlinsky
* fix DATE, TIME, TIMESTAP problem
February 8, 2002 - ilyaverlinsky
* fix sth_ddl not always being reset
February 2, 2002 - danielritz
* faster blob write code
January 30, 2002 - danielritz
* updated numeric handing code
* fixed blob code
January 29, 2002
* Fixed wrong value stored through bind param if numeric(*, 0)
* Added t/41numeric.t for exhaustive test on INT64 type.
* Updated version number in FAQ (danielritz)
* Change acceptable oldest perl version in InterBase.pm
January 28, 2002
* Fixed incorrect precision number in INT64 values and now locale-aware.
* changed version number in InterBase.pm
* Applied a patch to type_info_all by Christian Lademann
* Removed trailing precision if INT64 value is an integer.
December 2001, by danielritz
* no longer start a default transaction on init
* set_tx_param in AutoCommit mode commits any changes, starts a new
transcation using updated TPB; all open statement handles are closed!
* include Pavel Zheltouhov <pavlo@tvrn.ru> patch for table reservation
* only allow to set each param once in set_tx_param
* use SvPV_nolen where no len is required in set_tx_param
* fix ChopBlanks on Sun Sparc
* close all open statment handles on rollback
* close all open statements before commit (AutoCommit = 0)
* close all open statements before commit if sth_dll > 0 (AutoCommit = 1)
* manage statement handles with double linked list
* always set imp_dbh->tr = 0L after isc_commit_transcation or isc_rollback_transaction
* ib_commit_transaction uses isc_commit_retaining in AutoCommit mode
* fix possible buffer overflow in dbd_db_login6
* don't waste some bytes of memory (dbd_db_login6)
* fix $dbh->table_info didn't show views correctly
* big update in coding style
* cleanups
November 2001, by danielritz
* handle numberic bind params with values such as .7 passed as string
* int64 support for microsoft visual c++
* fix: numeric with bind and negative values stored wrong
August 1 2001
* fix set_tx_param crashes perl, by danielritz
* always rollback open transactions on disconnect (see source), by danielritz
July 24 2001
* fix in bind_param for numeric values, by danielritz
July 15 2001
* fix repeated execute() in AutoCommit mode, by danielritz
July 13 2001
* Fix for compile with ActiveState Build 626+ and BCC, by danielritz
* Fix to fetching blob field with zero maximum segment length
June 12 2001
* Fixed to buffer overflow in ib_fill_isqlda, by danielritz.
* Fixed to problem with DATE and TIMESTAMP fields, by danielritz.
June 7 2001
* Added PatchBCC by danielritz
* Fixed problem with repeatable use with blob field.
May 2 2001
* Fixed memory leak in bind param.
April 19 2001
* Fix to dbdimp.h by danielritz.
* Nullify var->sqldata and tpb_buffer when cleaning up.
April 18 2001
* Now works correctly with negative INT64 values
March 24 2001
* Added private method set_tx_param() for controlling transaction parameters
(experimental)
* More robust execute()
* Added more tests
* Easier `make test`. Now allows user to specify test database, as well as
username, and password to connect.
The test database creation is automated, if it doesn't exist.
* Clean compile with MSVC. But in Windows, there's bug with BLOB fields.
January 22 2001
* Memory leak problem fixed
* Added Flemming's submitted patch to zero sqlda before being used.
* SQL dialect 1 now can access timestamp field.
* Lighter, faster $dbh->ping(). I hope this is more stable, as well.
Sept 27 2000
* Replace isc_commit_retaining() with isc_commit_transaction. Flemming
suspected this as the source of some deadlock problem.
* Fixed dbd_db_rollback(). Now no longer starts a new transaction after
rollback.
Aug 30 2000
* Patch to DBI.pm of DBI-1.14, fixes a subtle bug of fetchall_arrayref().
The patched DBI allows DBD::InterBase to work with DBIx::Tree 0.91. Cool!
* Moving FAQ.pm to InterBase/FAQ.pm
Aug 28 2000
* $sth->{NAME} now return column alias, if any.
Aug 22 2000
* Fixed _OdbcParse() in InterBase.pm, to connect to remote host incl.
Windows.
Aug 19 2000
* $sth->rows() now returns the number of fetched rows, for SELECT, otherwise
returns - 1 (unknown).
Aug 18 2000
* starting a transaction (automatic or not) is more robust, now it reuses an
active transaction handle, instead of overridding it with a new one, leaving
the previous one "immortal" (because the previous transaction handle is no
longer kept!)
Aug 16 2000
* Fix $dbh->do() method for usage with placeholders.
* Added support for CursorName attrib
* more robust commit with AutoCommit on
Aug 13 2000
* Added datatype values conversion routine between InterBase internal
values and DBI/ISO/ANSI/ODBC values
* Fixed tables() method, now correctly removes the trailing blank spaces
* Tested to 100% compliant with DBIx::Recordset (0.21)!
Aug 12 2000
* more informative error message
* fix ping() method. Now not die if RaiseError => 1
July 29 2000
* AutoCommit attribute handling:
- in dbd_login6():
simply turns on imp_dbh->init_commit = 1
- in db_STORE_attrib() :
if init_commit == 1:
if AutoCommit turned On: do nothing.
if AutoCommit turned Off: start a new default transaction, stored in
imp_dbh->tr
if init_commit == 0:
if AutoCommit turned On: commit changes.
if AutoCommit turned Off: start a new default transaction, stored in
imp_dbh->tr
Before returning, init_commit is reset to 0.
-