NAME¶
DBIx::Class::Storage::DBI::InterBase - Driver for the Firebird RDBMS via
DBD::InterBase
DESCRIPTION¶
This driver is a subclass of DBIx::Class::Storage::DBI::Firebird::Common for use
with DBD::InterBase, see that driver for general details.
You need to use either the disable_sth_caching option or
"connect_call_use_softcommit" (see "CAVEATS") for your
code to function correctly with this driver. Otherwise you will likely get
bizarre error messages such as "no statement executing". The
alternative is to use the ODBC driver, which is more suitable for long running
processes such as under Catalyst.
To turn on DBIx::Class::InflateColumn::DateTime support, see
"connect_call_datetime_setup".
connect_call_use_softcommit¶
Used as:
on_connect_call => 'use_softcommit'
In connect_info to set the DBD::InterBase "ib_softcommit" option.
You need either this option or "disable_sth_caching => 1" for
DBIx::Class code to function correctly (otherwise you may get "no
statement executing" errors.) Or use the ODBC driver.
The downside of using this option is that your process will
NOT see
UPDATEs, INSERTs and DELETEs from other processes for already open statements.
connect_call_datetime_setup¶
Used as:
on_connect_call => 'datetime_setup'
In connect_info to set the date and timestamp formats using:
$dbh->{ib_time_all} = 'ISO';
See DBD::InterBase for more details.
The "TIMESTAMP" data type supports up to 4 digits after the decimal
point for second precision. The full precision is used.
The "DATE" data type stores the date portion only, and it
MUST
be declared with:
data_type => 'date'
in your Result class.
Timestamp columns can be declared with either "datetime" or
"timestamp".
You will need the DateTime::Format::Strptime module for inflation to work.
For DBIx::Class::Storage::DBI::ODBC::Firebird, this is a noop.
CAVEATS¶
- •
- with "connect_call_use_softcommit", you will not
be able to see changes made to data in other processes. If this is an
issue, use disable_sth_caching as a workaround for the "no statement
executing" errors, this of course adversely affects performance.
Alternately, use the ODBC driver.
AUTHOR¶
See "AUTHOR" in DBIx::Class and "CONTRIBUTORS" in
DBIx::Class.
LICENSE¶
You may distribute this code under the same terms as Perl itself.