my $e = $self->engine;
unless ( $self->offset ) {
+ my $classname = Scalar::Util::blessed( delete $self->{data} );
$self->{offset} = $self->engine->storage->write_to(
refs => undef,
- ref_type => $self->type,
+ ref_type => $self->type,
+ classname => $classname,
);
}
else {
data_type => 'S',
key => $args->{key},
value => $args->{value}{data},
- class => $args->{value}{class},
);
$args->{value}->reload;
data_type => 'R',
key => $args->{key},
value => $args->{value}{offset},
- class => $args->{value}{class},
);
}
}
sub get_classname {
my $self = shift;
- return;
+ my ($rows) = $self->engine->storage->read_from(
+ 'refs', $self->offset,
+ qw( classname ),
+ );
+ return unless @$rows;
+ return $rows->[0]{classname};
}
sub data {