NAME

DBIx::SQLEngine::Driver::Trait::PerlDBLib - For use with SQL::Statement

SYNOPSIS

# Classes can import this behavior if they're based on SQL::Statement
use DBIx::SQLEngine::Driver::Trait::PerlDBLib ':all';

DESCRIPTION

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.

About Driver Traits

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.

REFERENCE

The following methods are provided:

fetch_one_value

Special handling for simple functions. Allows select count(), max(), or min(), but only if that is the only value being returned.

sql_limit

Adds support for SQL select limit clause.

TODO: Needs workaround to support offset.

do_insert_with_sequence

$sqldb->do_insert_with_sequence( $sequence_name, %sql_clauses ) : $row_count

Implemented using DBIx::SQLEngine::Driver::Trait::NoSequences.

detect_any

$sqldb->detect_any ( )  : $boolean

Returns 1, as we presume that the requisite driver modules are available or we wouldn't have reached this point.

sql_detect_any

This should not be called. Throws fatal exception.

sql_create_columns

$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.

dbms_create_column_types

$sqldb->dbms_create_column_types () : %column_type_codes

Implemented using the standard int and varchar types.

dbms_create_column_text_long_type

$sqldb->dbms_create_column_text_long_type () : $col_type_str

Implemented using the standard varchar type.

dbms_select_table_as_unsupported

$sqldb->dbms_select_table_as_unsupported () : 1

Capability Limitation: This driver does not support table aliases such as "select * from foo as bar".

dbms_column_types_unsupported

$sqldb->dbms_column_types_unsupported () : 1

Capability Limitation: This driver does not store column type information.

dbms_indexes_unsupported

$sqldb-> dbms_indexes_unsupported () : 1

Capability Limitation: This driver does not support indexes.

dbms_storedprocs_unsupported

$sqldb-> dbms_storedprocs_unsupported () : 1

Capability Limitation: This driver does not support stored procedures.

SEE ALSO

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.