BerkeleyDB
view release on metacpan or search on metacpan
-Flags => -1;
ok !$db ;
ok chkMsg('PREFIX');
ok -e $errfile ;
my $contents = docat($errfile) ;
chomp $contents ;
ok $BerkeleyDB::Error eq $contents ;
# change the prefix on the fly
my $old = $env->errPrefix("NEW ONE") ;
ok $old eq "PREFIX" ;
$db = new BerkeleyDB::Hash -Filename => $Dfile,
-Env => $env,
-Flags => -1;
ok !$db ;
ok chkMsg('NEW ONE');
$contents = docat($errfile) ;
chomp $contents ;
ok $contents =~ /$BerkeleyDB::Error$/ ;
undef $env ;
}
{
# test db_appexit
use Cwd ;
my $cwd = cwd() ;
my $home = "$cwd/fred" ;
my $data_dir = "$home/data_dir" ;
my $log_dir = "$home/log_dir" ;
my $data_file = "data.db" ;
ok my $lexD = new LexDir($home);
ok -d $data_dir ? chmod 0777, $data_dir : mkdir($data_dir, 0777) ;
ok -d $log_dir ? chmod 0777, $log_dir : mkdir($log_dir, 0777) ;
my $env = new BerkeleyDB::Env -Home => $home, @StdErrFile,
-Config => { DB_DATA_DIR => $data_dir,
DB_LOG_DIR => $log_dir
},
-Flags => DB_CREATE|DB_INIT_TXN|DB_INIT_LOG|
DB_INIT_MPOOL|DB_INIT_LOCK ;
ok $env ;
ok my $txn_mgr = $env->TxnMgr() ;
ok $env->db_appexit() == 0 ;
}
{
# attempt to open a new environment without DB_CREATE
# should fail with Berkeley DB 3.x or better.
my $home = "./fred" ;
ok my $lexD = new LexDir($home) ;
chdir "./fred" ;
my $env = new BerkeleyDB::Env -Home => $home, -Flags => DB_CREATE ;
ok $version_major == 2 ? $env : ! $env ;
# The test below is not portable -- the error message returned by
# $BerkeleyDB::Error is locale dependant.
#ok $version_major == 2 ? 1
# : $BerkeleyDB::Error =~ /No such file or directory/ ;
# or print "# BerkeleyDB::Error is $BerkeleyDB::Error\n";
chdir ".." ;
undef $env ;
}
# test -Verbose
# test -Flags
# db_value_set
( run in 1.427 second using v1.01-cache-2.11-cpan-ceb78f64989 )