Provided by: libdata-session-perl_1.18-2_all bug

NAME

       Data::Session::Driver::BerkeleyDB - A persistent session manager

Synopsis

       See Data::Session for details.

Description

       Data::Session::Driver::BerkeleyDB allows Data::Session to manipulate sessions via
       BerkeleyDB.

       To use this module do both of these:

       o Specify a driver of type BerkeleyDB, as Data::Session -> new(type => 'driver:BerkeleyDB
       ...')
       o Specify a cache object of type BerkeleyDB as Data::Session -> new(cache => $object)
           Also, $object must have been created with a Env parameter of type BerkeleyDB::Env. See
           below.

       See scripts/berkeleydb.pl.

Case-sensitive Options

       See "Case-sensitive Options" in Data::Session for important information.

Method: new()

       Creates a new object of type Data::Session::Driver::BerkeleyDB.

       "new()" takes a hash of key/value pairs, some of which might mandatory. Further, some
       combinations might be mandatory.

       The keys are listed here in alphabetical order.

       They are lower-case because they are (also) method names, meaning they can be called to
       set or get the value at any time.

       o cache => $object
           Specifies the object of type BerkeleyDB to use for session storage.

           This key is normally passed in as Data::Session -> new(cache => $object).

           Warning: This cache object must have been set up both as an object of type BerkeleyDB,
           and with that object having an Env parameter of type Berkeley::Env, because this
           module - Data::Session::Driver::BerkeleyDB - uses the BerkeleyDB method cds_lock().

           This key is mandatory.

       o verbose => $integer
           Print to STDERR more or less information.

           Typical values are 0, 1 and 2.

           This key is normally passed in as Data::Session -> new(verbose => $integer).

           This key is optional.

Method: remove($id)

       Deletes from storage the session identified by $id.

       Returns the result of calling the BerkeleyDB method delete($id).

       This result is a Boolean value indicating 1 => success or 0 => failure.

Method: retrieve($id)

       Retrieve from storage the session identified by $id.

       Returns the result of calling the BerkeleyDB method get($id).

       This result is a frozen session. This value must be thawed by calling the appropriate
       serialization driver's thaw() method.

       Data::Session calls the right thaw() automatically.

Method: store($id => $data)

       Writes to storage the session identified by $id, together with its data $data.

       Returns the result of calling the BerkeleyDB method set($id => $data).

       This result is a Boolean value indicating 1 => success or 0 => failure.

Method: traverse()

       Retrieves all ids via a cursor, and for each id calls the supplied subroutine with the id
       as the only parameter.

       The database is not locked during this process.

       Returns 1.

Installing BerkeleyDB

               Get Oracle's BerkeleyDB from
               http://www.oracle.com/technetwork/database/berkeleydb/overview/index.html
               I used V 5.1.19
               tar xvzf db-5.1.19.tar.gz
               cd db-5.1.19/build_unix
               ../dist/configure
               make
               sudo make install
               It installs into /usr/local/BerkeleyDB.5.1

               Get Perl's BerkeleyDB from http://search.cpan.org
               I used V 0.43
               tar xvzf BerkeleyDB-0.43.tar.gz
               cd BerkeleyDB-0.43
               Edit 2 lines in config.in:
               INCLUDE = /usr/local/BerkeleyDB.5.1/include
               LIB     = /usr/local/BerkeleyDB.5.1/lib
               perl Makefile.PL
               make && make test
               sudo make install

Support

       Log a bug on RT: <https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Session>.

Author

       Data::Session was written by Ron Savage <ron@savage.net.au> in 2010.

       Home page: <http://savage.net.au/index.html>.

Copyright

       Australian copyright (c) 2010, Ron Savage.

               All Programs of mine are 'OSI Certified Open Source Software';
               you can redistribute them and/or modify them under the terms of
               The Artistic License, a copy of which is available at:
               http://www.opensource.org/licenses/index.html