No queue support with the Sleepycat::Db Perl interface?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

I've been unsuccessful in trying to use the queue table type with the
Sleepycat::Db interface and I cannot figure out why.

use Sleepycat::Db;

my $db = new Db();
$db->open(undef, "test.db", undef, Db::DB_QUEUE, Db::DB_CREATE);

my($k, $v) = ('', 'test value');

$db->put($k, $v, Db::DB_APPEND);
results in:
Db::_put() -- txnid is not an object reference at (eval 2) line 13,
<DATA> line 345.

(transactions aren't configured, obviously)

No luck _with_ transactions either:
use Sleepycat::Db;

eval {
    my $env = new DbEnv;

    my $db = new Db($env);
    $db->open(undef, "test.db", undef, Db::DB_QUEUE,

    my($k, $v) = ('', 'test value');

    my $txn = $env->txn_begin;
    $db->put($txn, $k, $v, Db::DB_APPEND);

if($@) {
    print $@->what, "\n";

Db::put: Invalid argument in test_queue_txn, line 18

I've tried a number of other ways with much the same result. Does
anyone know if queues are just not supported by Sleepycat::Db?


Site Timeline