NAME
DBIO::Firebird::Type - Firebird type-system mapping (introspection + DDL directions)
VERSION
version 0.900000
DESCRIPTION
Single home for the Firebird type system. Three mappings used to live in three modules pulling in different directions:
DBIO::Firebird::Introspect::Columns mapped
rdb$field_typenumbers to SQL type names (the introspection direction).DBIO::Firebird::DDL mapped DBIO/SQL::Translator
data_typevalues to Firebird DDL types (the deploy direction).DBIO::Firebird::Diff::Table rendered
(size)suffixes inline.
Centralizing them removes a class of bug: introspection used to fold the size into the type string ("decimal(18,6)") and set a separate size field, so Diff::Table emitted the size twice ("decimal(18,6)(18,6)"). The introspection mapping here returns the bare type; size is carried separately in the model and rendered via "render_size".
my $type = sql_type_from_rdb($field_type, $field_sub_type);
Maps an rdb$field_type number to a bare SQL type name (e.g. 'integer', 'decimal'). Unknown types fall back to 'varchar'.
my $ddl_type = ddl_type_from_info($column_info);
Maps a DBIO / SQL::Translator column_info hashref to a concrete Firebird DDL type string (e.g. 'INTEGER', 'VARCHAR(255)').
my $suffix = render_size($size); # "(255)", "(10,2)", or ""
Renders a model size field as a SQL size suffix. A scalar yields "(n)", an arrayref yields "(p,s)", and undef yields the empty string.
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.
3 POD Errors
The following errors were encountered while parsing the POD:
- Around line 103:
Unknown directive: =func
- Around line 110:
Unknown directive: =func
- Around line 117:
Unknown directive: =func