use strict;
use warnings;
use Moose;
+use KiokuDB::GC::Naive;
use KiokuDB::TypeMap;
use KiokuDB::TypeMap::Entry::Naive;
warning_like { $e->delete( $sid ) } qr/Cannot directly delete non-Tradition object/, "Stemma object not deleted from DB";
$e->delete( $uuid );
ok( !$e->exists( $uuid ), "Object is deleted from DB" );
+ok( !$e->exists( $sid ), "Object stemma also deleted from DB" );
is( scalar $e->tradition_ids, 0, "Object is deleted from index" );
around delete => sub {
my $orig = shift;
my $self = shift;
- warn "Only the first object will be deleted" if @_ > 1;
+ warn "Will only delete one tradition at a time" if @_ > 1;
my $arg = shift;
my $obj = ref( $arg ) ? $arg : $self->lookup( $arg );
my $id = ref( $arg ) ? $self->object_to_id( $arg ) : $arg;
return;
}
$self->$orig( $arg );
+ my $gc = KiokuDB::GC::Naive->new( backend => $self->directory->backend );
+ $self->$orig( $gc->garbage->members );
$self->del_index( $id );
};