Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.145.96.41
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : DBI.pm
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__
© 2025 GrazzMean