DBD-Sys
view release on metacpan or search on metacpan
lib/DBD/Sys.pm view on Meta::CPAN
@ISA = qw(DBI::DBD::SqlEngine::st);
$DBD::Sys::st::imp_data_size = 0;
package DBD::Sys::Statement;
use strict;
use warnings;
use vars qw(@ISA);
use Scalar::Util qw(weaken);
@ISA = qw(DBI::DBD::SqlEngine::Statement);
sub open_table($$$$$)
{
my ( $self, $data, $table, $createMode, $lockMode ) = @_;
my $attr_prefix = 'sys_' . lc($table) . '_';
my $attrs = {};
my $meta = {};
my $dbh = $data->{Database};
foreach my $attr ( keys %{$dbh} )
{
next unless ( $attr =~ m/^$attr_prefix(.+)$/ );
$meta->{$1} = $dbh->{$attr};
}
$attrs->{meta} = $meta;
$attrs->{database} = $dbh;
$attrs->{owner} = $self;
weaken( $attrs->{owner} );
weaken( $attrs->{database} );
my $tbl = $dbh->{sys_pluginmgr}->get_table( $table, $attrs );
return $tbl;
}
#################### main pod documentation start ###################
=head1 NAME
lib/DBD/Sys/CompositeTable.pm view on Meta::CPAN
package DBD::Sys::CompositeTable;
use strict;
use warnings;
use vars qw(@ISA $VERSION);
require SQL::Eval;
require DBI::DBD::SqlEngine;
use Scalar::Util qw(blessed weaken);
use Clone qw(clone);
use Carp qw(croak);
@ISA = qw(DBD::Sys::Table);
$VERSION = "0.102";
=pod
=head1 NAME
lib/DBD/Sys/PluginManager.pm view on Meta::CPAN
sys_pluginmgr_class => "DBD::Sys::PluginManager", }
) or die $DBI:errstr;
=cut
use vars qw($VERSION);
require DBD::Sys::Plugin;
require DBD::Sys::CompositeTable;
use Scalar::Util qw(weaken);
use Carp qw(croak);
use Params::Util qw(_HASH _ARRAY);
use Clone qw(clone);
use Module::Pluggable
require => 1,
search_path => ['DBD::Sys::Plugin'],
inner => 0,
only => qr/^DBD::Sys::Plugin::\p{Word}+$/;
( run in 0.285 second using v1.01-cache-2.11-cpan-65fba6d93b7 )