NAME
DBIO::Storage::DBI::AutoCast - Storage component for RDBMS requiring explicit placeholder typing
VERSION
version 0.900000
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']
ATTRIBUTES
auto_cast
Boolean toggle enabling automatic CAST(? AS ...) placeholder rewriting.
METHODS
_prep_for_execute
Rewrite ? placeholders as CAST(? AS $type) when "auto_cast" is enabled and the bind's sqlt_datatype resolves to a native type.
connect_call_set_auto_cast
Executes:
$schema->storage->auto_cast(1);
on connection.
Used as:
on_connect_call => ['set_auto_cast']
in connect_info.
AUTHOR
DBIO & DBIx::Class Authors
COPYRIGHT AND LICENSE
Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.