NAME

DBIO::Oracle::Type - Oracle type mapping utilities

VERSION

version 0.900000

DESCRIPTION

Consolidated Oracle type mapping logic used by DBIO::Oracle::Storage, DBIO::Oracle::DDL, DBIO::Oracle::Introspect::Columns, and DBIO::Oracle::Diff::Column.

The pure type-string functions ("normalize_type", "map_dbio_type_to_oracle", "map_dbd_type_to_dbio") have no dependency on DBD::Oracle and can be used offline (e.g. by DBIO::Oracle::Diff). Only "oracle_lob_bind_attrs" pulls in DBD::Oracle, and it does so lazily at call time.

$self->is_lob_type($dt)

Returns true if the given Data::Type is a LOB type (BLOB/CLOB/NCLOB).

$self->is_text_lob_type($dt)

Returns true if the LOB type is a text LOB (CLOB/NCLOB), false for binary.

DBIO::Oracle::Type::oracle_lob_bind_attrs($is_text)

Returns the bind attributes for a LOB bind (ora_type => ORA_BLOB or ORA_CLOB).

DBIO::Oracle::Type::normalize_type($type)

Normalizes an Oracle data type string for comparison (uppercase, collapse whitespace).

DBIO::Oracle::Type::map_dbd_type_to_dbio($data_type, %args)

Maps an Oracle data type string (from ALL_TAB_COLUMNS) to a DBIO canonical type name. %args may include nchar_size_factor for UTF-16 correction.

Returns a hashref with keys: data_type, size, not_null, etc.

DBIO::Oracle::Type::map_dbio_type_to_oracle($dbio_type, %args)

Maps a DBIO canonical type name to an Oracle DDL type string. %args may include size for VARCHAR2(n) etc.

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.

6 POD Errors

The following errors were encountered while parsing the POD:

Around line 190:

Unknown directive: =func

Around line 196:

Unknown directive: =func

Around line 202:

Unknown directive: =func

Around line 208:

Unknown directive: =func

Around line 215:

Unknown directive: =func

Around line 224:

Unknown directive: =func