Provided by: libdbd-firebird-perl_1.31-1_amd64
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".