Дамян Иванов > DBD-Firebird-1.16 > DBD::Firebird::TableInfo::Basic

Download:
DBD-Firebird-1.16.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  7
Open  3
View/Report Bugs
Source   Latest Release: DBD-Firebird-1.18

NAME ^

DBD::Firebird::TableInfo::Basic - A base class for lowest-common denominator Firebird table_info() querying.

SYNOPSIS ^

    # Add support for a hypothetical IB derivative
    package DBD::Firebird::TableInfo::HypotheticalIBDerivative

    @ISA = qw(DBD::Firebird::TableInfo::Basic);

    # What table types are supported?
    sub supported_types {
        ('SYSTEM TABLE', 'TABLE', 'VIEW', 'SPECIAL TABLE TYPE');
    }

    sub table_info {
        my ($self, $dbh, $table, @types) = @_;
    }

INTERFACE ^

list_catalogs
    $ti->list_catalogs($dbh);  # $dbh->table_info('%', '', '')

Returns a statement handle with an empty result set, as IB does not support the DBI concept of catalogs. (Rule 19a)

list_schema
    $ti->list_schema($dbh);    # $dbh->table_info('', '%', '')

Returns a statement handle with an empty result set, as IB does not support the DBI concept of schema. (Rule 19b)

list_tables
    $ti->list_tables($dbh, $table, @types); # $dbh->table_info('', '',
                                            #                  'FOO%',
                                            #                  'TABLE,VIEW');

Called in response to $dbh->table_info($cat, $schem, $table, $types). $cat and $schem are presently ignored.

This is the workhorse method that must return an appropriate statement handle of tables given the requested $table pattern and @types. A blank $table pattern means "any table," and an empty @types list means "any type."

@types is a list of user-supplied, requested types. DBD::Firebird::db::table_info will normalize the user-supplied types, stripping quote marks, uppercasing, and removing duplicates.

list_types
    $tbl_info->list_types($dbh);  # $dbh->table_info('', '', '', '%')

Called in response to $dbh->table_info('', '', '', '%'), returning a statement handle with a TABLE_TYPE column populated with the results of supported_types. (Rule 19c)

Normally not overridden. Override supported_types, instead.

supported_types
    $tbl_info->supported_types($dbh);

Returns a list of supported DBI TABLE_TYPE entries. The default implementation supports 'TABLE', 'SYSTEM TABLE' and 'VIEW'.

This method is called by the default implementation of list_types.

syntax highlighting: