#!/usr/bin/env perl
$| ++;
$MYDan::Util::OptConf::THIS
=
'node'
;
my
$option
= MYDan::Util::OptConf->load(
base
=>
$Bin
);
my
%o
=
$option
->get(
qw( cluster=s table=s key=s value=s )
)->
dump
();
$option
->assert(
'cluster'
);
my
%range
=
$option
->
dump
(
'range'
);
my
$range
= MYDan::Node->new(
%range
);
my
(
$drop
,
%query
) = 1;
for
my
$index
(
qw( key value )
)
{
next
unless
defined
$o
{
$index
};
$drop
= 0;
next
unless
my
@list
=
$range
->load(
$o
{
$index
} )->list();
$query
{
$index
} = [
1
=>
@list
];
}
for
my
$cluster
(
$range
->load(
$o
{cluster} || [] )->list() )
{
unless
(
$o
{table} )
{
unlink
File::Spec->
join
(
$o
{root},
$cluster
);
next
;
}
my
$db
= MYDan::Node::DBI::Root->new( File::Spec->
join
(
$o
{root},
$cluster
) );
for
my
$table
(
$range
->load(
$o
{table} || [] )->list() )
{
if
(
%query
) {
$db
->
delete
(
$table
,
%query
) }
elsif
(
$drop
) {
$db
->drop(
$table
) }
}
}
exit
0;