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:

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