---
name: "DBIx::Class::Storage::DBI::InterBase"
section: "3pm"
platform: "linux"
package: "libdbix-class-perl"
version: "0.082844-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DBIx::Class::Storage::DBI::InterBase"
---

# DBIx::Class::Storage::DBI::InterBase(3pm)

Driver for the Firebird RDBMS via DBD::InterBase

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

## FURTHER QUESTIONS?

Check the list of additional DBIC resources.

## COPYRIGHT AND LICENSE

This module is free software copyright by the DBIx::Class (DBIC) authors. You can redistribute it and/or modify it under the same terms as the DBIx::Class library.
