logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

DBIx::Class::Storage::DBI::InterBase - Driver for the Firebird RDBMS via DBD::InterBase

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.

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.

Further Questions?

       Check the list of additional DBIC resources.

Name

       DBIx::Class::Storage::DBI::InterBase - Driver for the Firebird RDBMS via DBD::InterBase

See Also