BerkeleyDB Queue Database Array Size
- From: kallestad@xxxxxxxxx
- Date: 13 Aug 2006 23:50:11 -0700
I've been playing around with BerkeleyDB Queue database type, and I've
found something curious.
I'm tying an array variable to the queue database:
$db = tie @samplearray, 'BerkeleyDB::Queue',
-Flags => DB_CREATE,
-Filename => $config->get('db_queue_filename'),
-Env => $env,
-Len => 300
or print "$BerkeleyDB::Error\n" ;
I'm adding records to the database by pushing values into the array:
push @samplearray, $u or die "can't push $u $!\n";
And I'm pulling records from the beginning of the database using shift:
shift @samplearray;
Everything is working brilliantly - although I haven't tried
multiprocess access to the database which is a desired future step.
The curiosity that I have found is this:
$k = $#samplearray;
print "$k \n";
When the array is not "tied" to the BerkeleyDB, this number will shrink
every time I shift a record out of the array - If I pull out 5 of 5
items, it would report 3,2,1,0,-1. However, when it is tied to the
database, it will always report the maximum queue size until there is
nothing left in the queue, at which point it will return -1 like it
normally would if it was just an array. In the above example - it's
4,4,4,4,-1
I tried calling $db->sync after pulling items out, but the issue still
exists. Being a bit of a newbie, I don't know if this is a problem
with the way I am implementing things, my technical understanding, or
if this is an actual bug. Any guidance is appreciated.
Thanks,
Steve
.
- Follow-Ups:
- Re: BerkeleyDB Queue Database Array Size
- From: Paul Marquess
- Re: BerkeleyDB Queue Database Array Size
- From: Paul Marquess
- Re: BerkeleyDB Queue Database Array Size
- From: Paul Marquess
- Re: BerkeleyDB Queue Database Array Size
- Prev by Date: Re: Net::SFTP / Net::SSH::W32Perl strange debug messages?
- Next by Date: Re: Net::SFTP / Net::SSH::W32Perl strange debug messages?
- Previous by thread: form submission automation
- Next by thread: Re: BerkeleyDB Queue Database Array Size
- Index(es):
Relevant Pages
|