| Server IP : 127.0.0.1 / Your IP : 216.73.216.48 Web Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT DESKTOP-3H4FHQJ 10.0 build 19045 (Windows 10) AMD64 User : win 10 ( 0) PHP Version : 8.2.12 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : D:/xampp/perl/vendor/lib/DBM/Deep/Sector/ |
Upload File : |
package DBM::Deep::Sector::DBI;
use 5.008_004;
use strict;
use warnings FATAL => 'all';
use base qw( DBM::Deep::Sector );
use DBM::Deep::Sector::DBI::Reference ();
use DBM::Deep::Sector::DBI::Scalar ();
sub free {
my $self = shift;
$self->engine->storage->delete_from(
$self->table, $self->offset,
);
}
sub reload {
my $self = shift;
$self->_init;
}
sub load {
my $self = shift;
my ($engine, $offset, $type) = @_;
if ( !defined $type || $type eq 'refs' ) {
return DBM::Deep::Sector::DBI::Reference->new({
engine => $engine,
offset => $offset,
});
}
elsif ( $type eq 'datas' ) {
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'" );
}
1;
__END__