Matthew Simon Cavalletto

NAME

DBIx::SQLEngine::Driver::AnyData - Extends SQLEngine for DBMS Idiosyncrasies

SYNOPSIS

  my $sqldb = DBIx::SQLEngine->new( 'dbi:AnyData:test' );
  
  $hash_ary = $sqldb->fetch_select( 
    table => 'students' 
    limit => 5, offset => 10
  );

DESCRIPTION

This package provides a subclass of DBIx::SQLEngine which compensates for DBD::AnyData's idiosyncrasies.

fetch_one_value

Special handling for simple functions.

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_table

  $sqldb->sql_detect_table ( $tablename )  : %sql_select_clauses

Implemented using AnyData's "select * from $tablename limit 1".

dbms_create_column_types

  $sqldb->dbms_create_column_types () : %column_type_codes

Implemented using AnyData's varchar and int types.

dbms_create_column_text_long_type

  $sqldb->dbms_create_column_text_long_type () : $col_type_str

Implemented as varchar(16384).

ad_catalog

  $ds->ad_catalog( $table_name, $any_data_format, $file_name );

Uses AnyData's 'ad_catalog' function to map in a new data file.

recoverable_query_exceptions

  $sqldb->recoverable_query_exceptions() : @common_error_messages

Provides a list of error messages which represent common communication failures or other incidental errors.

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.