BerkeleyDB-Lite
view release on metacpan or search on metacpan
## intended for duplicatekeys
sub recordset {
my $ref = shift ;
my $self = tied %$ref ;
my $key = shift ;
my $value = "" ;
my @values = () ;
# database locked
my $cursor = $self->db_cursor ;
if ( $cursor->c_get( $key, $value, DB_SET ) ) {
$cursor = undef ;
return @values ;
}
push @values, $value ;
while ( ! $cursor->c_get( $key, $value, DB_NEXT_DUP ) ) {
push @values, $value ;
my $isunique = shift ;
my %unique = () ;
my @keys = () ;
my @values = () ;
my @each = () ;
return [] unless $partkey ;
my $length = length $partkey ;
# database locked
my $cursor = $self->db_cursor ;
my $value = 0 ;
my $key = $partkey ;
my $status = $cursor->c_get( $key, $value, DB_SET_RANGE ) ;
while ( $key ) {
last if $status || substr( $key, 0, $length ) ne $partkey ;
if ( $isunique ) {
( run in 0.628 second using v1.01-cache-2.11-cpan-49f99fa48dc )