<<

NAME

DBIx::Class::Storage::DBI::AutoCast - Storage component for RDBMS requiring explicit placeholder typing

SYNOPSIS

  $schema->storage->auto_cast(1);

DESCRIPTION

In some combinations of RDBMS and DBD drivers (e.g. FreeTDS and Sybase) statements with values bound to columns or conditions that are not strings will throw implicit type conversion errors.

As long as a column data_type is defined and resolves to a base RDBMS native type via "_native_data_type" as defined in your Storage driver, the placeholder for this column will be converted to:

  CAST(? as $mapped_type)

This option can also be enabled in connect_info as:

  on_connect_call => ['set_auto_cast']

connect_call_set_auto_cast

Executes:

  $schema->storage->auto_cast(1);

on connection.

Used as:

    on_connect_call => ['set_auto_cast']

in connect_info.

INHERITED METHODS

DBIx::Class::Storage::DBI

DESTROY, auto_savepoint, bind_attribute_by_data_type, build_datetime_parser, columns_info_for, connect_call_datetime_setup, connect_call_do_sql, connect_info, connected, create_ddl_dir, datetime_parser, datetime_parser_type, 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_datetime_setup, connect_call_do_sql, connect_info, connected, create_ddl_dir, datetime_parser, datetime_parser_type, 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

AUTHOR

See "CONTRIBUTORS" in DBIx::Class

LICENSE

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

<<