ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/BDB/BDB.pm
(Generate patch)

Comparing BDB/BDB.pm (file contents):
Revision 1.25 by root, Mon Dec 10 21:19:06 2007 UTC vs.
Revision 1.33 by root, Sun Mar 30 04:57:55 2008 UTC

24 db_put $db, undef, "key", "data", 0, sub { 24 db_put $db, undef, "key", "data", 0, sub {
25 db_del $db, undef, "key"; 25 db_del $db, undef, "key";
26 }; 26 };
27 db_sync $db; 27 db_sync $db;
28 28
29 # when you also use Coro, management is easy:
30 use Coro::BDB;
31
29 # automatic result processing with AnyEvent: 32 # automatic result processing with AnyEvent:
30 our $FH; open $FH, "<&=" . BDB::poll_fileno; 33 our $FH; open $FH, "<&=" . BDB::poll_fileno;
31 our $WATCHER = AnyEvent->io (fh => $FH, poll => 'r', cb => \&BDB::poll_cb); 34 our $WATCHER = AnyEvent->io (fh => $FH, poll => 'r', cb => \&BDB::poll_cb);
32 35
33 # automatic result processing with EV: 36 # automatic result processing with EV:
107use strict 'vars'; 110use strict 'vars';
108 111
109use base 'Exporter'; 112use base 'Exporter';
110 113
111BEGIN { 114BEGIN {
112 our $VERSION = '1.3'; 115 our $VERSION = '1.44';
113 116
114 our @BDB_REQ = qw( 117 our @BDB_REQ = qw(
115 db_env_open db_env_close db_env_txn_checkpoint db_env_lock_detect 118 db_env_open db_env_close db_env_txn_checkpoint db_env_lock_detect
116 db_env_memp_sync db_env_memp_trickle 119 db_env_memp_sync db_env_memp_trickle
117 db_open db_close db_compact db_sync db_upgrade 120 db_open db_close db_compact db_sync db_upgrade
388 DESTROY (DBC_ornull *dbc) 391 DESTROY (DBC_ornull *dbc)
389 CODE: 392 CODE:
390 if (dbc) 393 if (dbc)
391 dbc->c_close (dbc); 394 dbc->c_close (dbc);
392 395
396 $int = $cursor->set_priority ($priority = PRIORITY_*)
397
393=head4 Example: 398=head4 Example:
394 399
395 my $c = $db->cursor; 400 my $c = $db->cursor;
396 401
397 for (;;) { 402 for (;;) {
434 439
435=item $msg = BDB::strerror [$errno] 440=item $msg = BDB::strerror [$errno]
436 441
437Returns the string corresponding to the given errno value. If no argument 442Returns the string corresponding to the given errno value. If no argument
438is given, use C<$!>. 443is given, use C<$!>.
444
445Note that the BDB module also patches the C<$!> variable directly, so you
446should be able to get a bdb error string by simply stringifying C<$!>.
439 447
440=item $fileno = BDB::poll_fileno 448=item $fileno = BDB::poll_fileno
441 449
442Return the I<request result pipe file descriptor>. This filehandle must be 450Return the I<request result pipe file descriptor>. This filehandle must be
443polled for reading by some mechanism outside this module (e.g. Event or 451polled for reading by some mechanism outside this module (e.g. Event or
671 679
672In short: the parent will, after a short pause, continue as if fork had 680In short: the parent will, after a short pause, continue as if fork had
673not been called, while the child will act as if BDB has not been used 681not been called, while the child will act as if BDB has not been used
674yet. 682yet.
675 683
684Win32 note: there is no fork on win32, and perls emulation of it is too
685broken to be supported, so do not use BDB in a windows pseudo-fork, better
686yet, switch to a more capable platform.
687
676=head2 MEMORY USAGE 688=head2 MEMORY USAGE
677 689
678Per-request usage: 690Per-request usage:
679 691
680Each aio request uses - depending on your architecture - around 100-200 692Each aio request uses - depending on your architecture - around 100-200

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines