NAME

DBD::Sys::Plugin - embed own tables to DBD::Sys

SYNOPSIS

    my $dbh = DBI->connect( "DBI:Sys:", undef, undef, {
	sys_pluginmgr_class => "DBD::Sys::PluginManager", }
    ) or die $DBI:errstr;

DESCRIPTION

The plugin manager provides a basic management of plugins to extend DBD::Sys with additional tables. All plugins are expected to be directly under the DBD::Sys::Plugin namespace:

use Module::Pluggable
  require     => 1,
  search_path => ['DBD::Sys::Plugin'],
  inner       => 0,
  only        => qr/^DBD::Sys::Plugin::\p{Word}+$/;

METHODS

new

Instantiates a new plugin manager and loads all plugins and available tables. During the loading of all that modules, some internal dictionaries are created to find the implementor classes for tables and all valid attributes to tweak the data of the tables.

get_table_list

Returns the list of the known table names. It's intended for internal use only, so be aware that the API might change!

get_table_details

Returns a hash containing the table names and the table implementor classes as value. It's intended for internal use only, so be aware that the API might change!

get_tables_attrs

Returns a $dbh->{sys_valid_attrs} compatible hash map of valid attributes of the loaded tables. It's intended for internal use only, so be aware that the API might change!

get_table

Instantiates the appropriate table class for a given table name. If multiple implementators for the specified table are known, a DBD::Sys::CompositeTable is instantiated which manages the merging of the data delivered by each table and return one, consolidated data set to the calling SQL engine. It's intended for internal use only, so be aware that the API might change!

AUTHOR

Jens Rehsack
CPAN ID: REHSACK
rehsack@cpan.org
http://search.cpan.org/~rehsack/

COPYRIGHT

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

SUPPORT

Free support can be requested via regular CPAN bug-tracking system at http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBD-Sys. There is no guaranteed reaction time or solution time, but it's always tried to give accept or reject a reported ticket within a week. It depends on business load. That doesn't mean that ticket via rt aren't handles as soon as possible, that means that soon depends on how much I have to do.

Business and commercial support should be acquired from the authors via preferred freelancer agencies.