Merged with master and am ready to merge back
[dbsrgits/DBM-Deep.git] / lib / DBM / Deep / Sector / DBI.pm
index ed00cbf..59ce4b2 100644 (file)
@@ -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'" );