X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBM%2FDeep%2FSector%2FDBI.pm;h=59ce4b2a4e433c219cdae6ff34470f0326f867ac;hb=HEAD;hp=ed00cbf73dae1015ed6c1ca8a50cffe9733bf625;hpb=a4d36ff61c367864cdf95523dd9771b01773930c;p=dbsrgits%2FDBM-Deep.git diff --git a/lib/DBM/Deep/Sector/DBI.pm b/lib/DBM/Deep/Sector/DBI.pm index ed00cbf..59ce4b2 100644 --- a/lib/DBM/Deep/Sector/DBI.pm +++ b/lib/DBM/Deep/Sector/DBI.pm @@ -10,9 +10,6 @@ use base qw( DBM::Deep::Sector ); use DBM::Deep::Sector::DBI::Reference (); use DBM::Deep::Sector::DBI::Scalar (); -sub _init { -} - sub free { my $self = shift; @@ -37,10 +34,18 @@ sub load { }); } elsif ( $type eq 'datas' ) { - return DBM::Deep::Sector::DBI::Scalar->new({ + my $sector = DBM::Deep::Sector::DBI::Scalar->new({ engine => $engine, offset => $offset, }); + + if ( $sector->{data_type} eq 'R' ) { + return $self->load( + $engine, $sector->{value}, 'refs', + ); + } + + return $sector; } DBM::Deep->_throw_error( "'$offset': Don't know what to do with type '$type'" );