BerkeleyDB
view release on metacpan or search on metacpan
BerkeleyDB.pm view on Meta::CPAN
DB_VERSION_MISMATCH
DB_VERSION_PATCH
DB_VERSION_RELEASE
DB_VERSION_STRING
DB_VRFY_FLAGMASK
DB_WRITECURSOR
DB_WRITELOCK
DB_WRITEOPEN
DB_WRNOSYNC
DB_XA_CREATE
DB_XIDDATASIZE
DB_YIELDCPU
DB_debug_FLAG
DB_user_BEGIN
EPOLL
HAVE_EPOLL
LOGREC_ARG
LOGREC_DATA
LOGREC_DB
LOGREC_DBOP
LOGREC_DBT
LOGREC_Done
LOGREC_HDR
LOGREC_LOCKS
LOGREC_LONGARG
LOGREC_OP
LOGREC_PGDBT
LOGREC_PGDDBT
LOGREC_PGLIST
LOGREC_POINTER
LOGREC_TIME
POLL
SELECT
);
sub AUTOLOAD {
my($constname);
($constname = $AUTOLOAD) =~ s/.*:://;
my ($error, $val) = constant($constname);
Carp::croak $error if $error;
no strict 'refs';
*{$AUTOLOAD} = sub { $val };
goto &{$AUTOLOAD};
}
#bootstrap BerkeleyDB $VERSION;
if ($use_XSLoader)
{ XSLoader::load("BerkeleyDB", $VERSION)}
else
{ bootstrap BerkeleyDB $VERSION }
# Preloaded methods go here.
sub ParseParameters($@)
{
my ($default, @rest) = @_ ;
my (%got) = %$default ;
my (@Bad) ;
my ($key, $value) ;
my $sub = (caller(1))[3] ;
my %options = () ;
local ($Carp::CarpLevel) = 1 ;
# allow the options to be passed as a hash reference or
# as the complete hash.
if (@rest == 1) {
croak "$sub: parameter is not a reference to a hash"
if ref $rest[0] ne "HASH" ;
%options = %{ $rest[0] } ;
}
elsif (@rest >= 2 && @rest % 2 == 0) {
%options = @rest ;
}
elsif (@rest > 0) {
croak "$sub: malformed option list";
}
while (($key, $value) = each %options)
{
$key =~ s/^-// ;
if (exists $default->{$key})
{ $got{$key} = $value }
else
{ push (@Bad, $key) }
}
if (@Bad) {
my ($bad) = join(", ", @Bad) ;
croak "unknown key value(s) $bad" ;
}
return \%got ;
}
sub parseEncrypt
{
my $got = shift ;
if (defined $got->{Encrypt}) {
croak("Encrypt parameter must be a hash reference")
if !ref $got->{Encrypt} || ref $got->{Encrypt} ne 'HASH' ;
my %config = %{ $got->{Encrypt} } ;
my $p = BerkeleyDB::ParseParameters({
Password => undef,
Flags => undef,
}, %config);
croak("Must specify Password and Flags with Encrypt parameter")
if ! (defined $p->{Password} && defined $p->{Flags});
$got->{"Enc_Passwd"} = $p->{Password};
$got->{"Enc_Flags"} = $p->{Flags};
}
}
( run in 2.037 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )