DBIx::SQLEngine::Driver::Trait::PerlDBLib - For use with SQL::Statement
# Classes can import this behavior if they're based on SQL::Statement use DBIx::SQLEngine::Driver::Trait::PerlDBLib ':all';
This package works with DBD drivers which are implemented in Perl using SQL::Statement. It combines several other traits and methods which can be shared by most such drivers.
You do not need to use this package directly; it is used internally by those driver subclasses which need it.
For more information about Driver Traits, see "About Driver Traits" in DBIx::SQLEngine::Driver.
The following methods are provided:
Special handling for simple functions. Allows select count(), max(), or min(), but only if that is the only value being returned.
Adds support for SQL select limit clause.
TODO: Needs workaround to support offset.
$sqldb->do_insert_with_sequence( $sequence_name, %sql_clauses ) : $row_count
Implemented using DBIx::SQLEngine::Driver::Trait::NoSequences.
$sqldb->detect_any ( ) : $boolean
Returns 1, as we presume that the requisite driver modules are available or we wouldn't have reached this point.
This should not be called. Throws fatal exception.
$sqldb->sql_create_columns( $column, $fragment_array_ref ) : $sql_fragment
Generates the SQL fragment to define a column in a create table statement.
Overridden to not produce "PRIMARY KEY ( foo )" clauses for the primary key.
$sqldb->dbms_create_column_types () : %column_type_codes
Implemented using the standard int and varchar types.
$sqldb->dbms_create_column_text_long_type () : $col_type_str
Implemented using the standard varchar type.
$sqldb->dbms_select_table_as_unsupported () : 1
Capability Limitation: This driver does not support table aliases such as "select * from foo as bar".
$sqldb->dbms_column_types_unsupported () : 1
Capability Limitation: This driver does not store column type information.
$sqldb-> dbms_indexes_unsupported () : 1
Capability Limitation: This driver does not support indexes.
$sqldb-> dbms_storedprocs_unsupported () : 1
Capability Limitation: This driver does not support stored procedures.
See DBIx::SQLEngine for the overall interface and developer documentation.
See DBIx::SQLEngine::Docs::ReadMe for general information about this distribution, including installation and license information.
See DBIx::Sequence for another version of the sequence-table functionality, which greatly inspired this module.