<<

NAME

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

DESCRIPTION

This class implements autoincrements for Firebird using RETURNING as well as auto_nextval sets the limit dialect to FIRST X SKIP X and provides DBIx::Class::InflateColumn::DateTime support.

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 and sub-second precision is not currently available.

INHERITED METHODS

DBIx::Class::Storage::DBI

DESTROY, auto_savepoint, bind_attribute_by_data_type, build_datetime_parser, columns_info_for, connect_call_do_sql, connect_info, connected, create_ddl_dir, datetime_parser, dbh, dbh_do, delete, deploy, deployment_statements, disable_sth_caching, disconnect, disconnect_call_do_sql, ensure_connected, get_dbms_capability, get_use_dbms_capability, insert, insert_bulk, is_datatype_numeric, is_replicating, lag_behind_master, last_insert_id, new, on_connect_call, on_connect_do, on_disconnect_call, on_disconnect_do, relname_to_table_alias, savepoints, select, select_single, set_dbms_capability, set_use_dbms_capability, source_bind_attributes, sql_maker, sql_maker_class, sqlt_type, sth, svp_begin, svp_release, svp_rollback, transaction_depth, txn_begin, txn_commit, txn_do, txn_rollback, unsafe, update, with_deferred_fk_checks

DBIx::Class::Storage

cursor, cursor_class, debug, debugcb, debugfh, debugobj, schema, set_schema, throw_exception, txn_scope_guard

DBIx::Class

MODIFY_CODE_ATTRIBUTES, component_base_class, mk_classaccessor, mk_classdata

DBIx::Class::Componentised

inject_base

Class::C3::Componentised

ensure_class_found, ensure_class_loaded, load_components, load_optional_class, load_optional_components, load_own_components

Class::Accessor::Grouped

get_component_class, get_inherited, get_simple, get_super_paths, make_group_accessor, make_group_ro_accessor, make_group_wo_accessor, mk_group_accessors, mk_group_ro_accessors, mk_group_wo_accessors, set_component_class, set_inherited, set_simple

INHERITED METHODS

DBIx::Class::Storage::DBI

DESTROY, auto_savepoint, bind_attribute_by_data_type, build_datetime_parser, columns_info_for, connect_call_do_sql, connect_info, connected, create_ddl_dir, datetime_parser, dbh, dbh_do, delete, deploy, deployment_statements, disable_sth_caching, disconnect, disconnect_call_do_sql, ensure_connected, get_dbms_capability, get_use_dbms_capability, insert, insert_bulk, is_datatype_numeric, is_replicating, lag_behind_master, last_insert_id, new, on_connect_call, on_connect_do, on_disconnect_call, on_disconnect_do, relname_to_table_alias, savepoints, select, select_single, set_dbms_capability, set_use_dbms_capability, source_bind_attributes, sql_maker, sql_maker_class, sqlt_type, sth, svp_begin, svp_release, svp_rollback, transaction_depth, txn_begin, txn_commit, txn_do, txn_rollback, unsafe, update, with_deferred_fk_checks

DBIx::Class::Storage

cursor, cursor_class, debug, debugcb, debugfh, debugobj, schema, set_schema, throw_exception, txn_scope_guard

DBIx::Class

MODIFY_CODE_ATTRIBUTES, component_base_class, mk_classaccessor, mk_classdata

DBIx::Class::Componentised

inject_base

Class::C3::Componentised

ensure_class_found, ensure_class_loaded, load_components, load_optional_class, load_optional_components, load_own_components

Class::Accessor::Grouped

get_component_class, get_inherited, get_simple, get_super_paths, make_group_accessor, make_group_ro_accessor, make_group_wo_accessor, mk_group_accessors, mk_group_ro_accessors, mk_group_wo_accessors, set_component_class, set_inherited, set_simple

INHERITED METHODS

DBIx::Class::Storage::DBI

DESTROY, auto_savepoint, bind_attribute_by_data_type, build_datetime_parser, columns_info_for, connect_call_do_sql, connect_info, connected, create_ddl_dir, datetime_parser, dbh, dbh_do, delete, deploy, deployment_statements, disable_sth_caching, disconnect, disconnect_call_do_sql, ensure_connected, get_dbms_capability, get_use_dbms_capability, insert, insert_bulk, is_datatype_numeric, is_replicating, lag_behind_master, last_insert_id, new, on_connect_call, on_connect_do, on_disconnect_call, on_disconnect_do, relname_to_table_alias, savepoints, select, select_single, set_dbms_capability, set_use_dbms_capability, source_bind_attributes, sql_maker, sql_maker_class, sqlt_type, sth, svp_begin, svp_release, svp_rollback, transaction_depth, txn_begin, txn_commit, txn_do, txn_rollback, unsafe, update, with_deferred_fk_checks

DBIx::Class::Storage

cursor, cursor_class, debug, debugcb, debugfh, debugobj, schema, set_schema, throw_exception, txn_scope_guard

DBIx::Class

MODIFY_CODE_ATTRIBUTES, component_base_class, mk_classaccessor, mk_classdata

DBIx::Class::Componentised

inject_base

Class::C3::Componentised

ensure_class_found, ensure_class_loaded, load_components, load_optional_class, load_optional_components, load_own_components

Class::Accessor::Grouped

get_component_class, get_inherited, get_simple, get_super_paths, make_group_accessor, make_group_ro_accessor, make_group_wo_accessor, mk_group_accessors, mk_group_ro_accessors, mk_group_wo_accessors, set_component_class, set_inherited, set_simple

CAVEATS

AUTHOR

See "AUTHOR" in DBIx::Class and "CONTRIBUTORS" in DBIx::Class.

LICENSE

You may distribute this code under the same terms as Perl itself.

<<