NAME
DBD::Firebird::TableInfo::Basic - A base class for lowest-common denominator Firebird table_info() querying.
SYNOPSIS
# Add support for a hypothetical IB derivativepackage 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).$catand$schemare presently ignored.This is the workhorse method that must return an appropriate statement handle of tables given the requested
$tablepattern and@types. A blank$tablepattern means "any table," and an empty@typeslist means "any type."@typesis 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".