1 package DBM::Deep::Sector::DBI::Reference;
6 use warnings FATAL => 'all';
8 use base 'DBM::Deep::Sector::DBI';
15 my $e = $self->engine;
17 unless ( $self->offset ) {
18 $self->{offset} = $self->engine->storage->write_to(
20 ref_type => $self->type,
24 my ($rows) = $self->engine->storage->read_from(
25 refs => $self->offset,
29 $self->{type} = $rows->[0]{ref_type};
39 my ($rows) = $self->engine->storage->read_from(
40 datas => { ref_id => $self->offset, key => $args->{key} },
44 return unless $rows->[0]{id};
57 $self->engine->storage->write_to(
58 datas => $args->{value}{offset},
59 ref_id => $self->offset,
62 value => $args->{value}{data},
63 class => $args->{value}{class},
66 $args->{value}->reload;
73 my $old_value = $self->get_data_for({
79 $data = $old_value->data;