bionic (3) TM::ResourceAble::MLDBM.3pm.gz

Provided by: libtm-perl_1.56-8_all bug

NAME

       TM::ResourceAble::MLDBM - Topic Maps, DBM Storage (synchronous)

SYNOPSIS

           use TM::ResourceAble::MLDBM;
          {
           my $tm = new TM::ResourceAble::MLDBM (file => '/tmp/map.dbm');
           # modify the map here.....

           } # it goes out of scope here, and all changes are written back automagically

          # later in the game
          {
           my $tm = new TM::ResourceAble::MLDBM (file => '/tmp/map.dbm');
           # we are back in business, no sync necessary
           }

DESCRIPTION

       This package just implements TM with a BerkeleyDB store. Unlike TM::Materialized::MLDBM this module does
       not need explicit synchronisation with the external resource (the DBM file here).  It ties content-wise
       with the DBM file at constructor time and unties at DESTROY time.

       This implementation technique is not so memory-efficient as I had thought. Whenever an assertion or a
       toplet is referenced, the whole block of toplets, resp. assertions, is loaded from the DB database.  For
       small maps this is really fast, but it can become a drag for larger maps. See TM::ResourceAble::BDB for a
       more efficient solution.

       NOTE: Be careful to use this together with TM::Index::*. The indices will be held as part of the map, and
       so will be stored along side. If you heavily use the map, this can result in many swapin/swapouts.
       Better to look at TM::IndexAble for that matter.

INTERFACE

   Constructor
       The constructor expects a hash with the following keys:

       file (no default)
           This contains the file name of the DBM file to tie to.

SEE ALSO

       TM, TM::Materialized::MLDBM

AUTHOR INFORMATION

       Copyright 200[68], Robert Barta <drrho@cpan.org>, All rights reserved.

       This library is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.  http://www.perl.com/perl/misc/Artistic.html