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

Comparing BDB/BDB.pm (file contents):
Revision 1.29 by root, Sat Dec 22 07:33:48 2007 UTC vs.
Revision 1.35 by root, Sun Mar 30 08:01:58 2008 UTC

110use strict 'vars'; 110use strict 'vars';
111 111
112use base 'Exporter'; 112use base 'Exporter';
113 113
114BEGIN { 114BEGIN {
115 our $VERSION = '1.41'; 115 our $VERSION = '1.45';
116 116
117 our @BDB_REQ = qw( 117 our @BDB_REQ = qw(
118 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
119 db_env_memp_sync db_env_memp_trickle 119 db_env_memp_sync db_env_memp_trickle
120 db_open db_close db_compact db_sync db_upgrade 120 db_open db_close db_compact db_sync db_upgrade
134 134
135 require XSLoader; 135 require XSLoader;
136 XSLoader::load ("BDB", $VERSION); 136 XSLoader::load ("BDB", $VERSION);
137} 137}
138 138
139=head2 WIN32 FILENAMES/DATABASE NAME MESS
140
141Perl on Win32 supports only ASCII filenames (the reason is that it abuses
142an internal flag to store wether a filename is Unicode or ANSI, but that
143flag is used for somethign else in the perl core, so there is no way to
144detect wether a filename is ANSI or Unicode-encoded). The BDB module
145tries to work around this issue by assuming that the filename is an ANSI
146filename and BDB was built for unicode support.
147
139=head2 BERKELEYDB FUNCTIONS 148=head2 BERKELEYDB FUNCTIONS
140 149
141All of these are functions. The create functions simply return a new 150All of these are functions. The create functions simply return a new
142object and never block. All the remaining functions all take an optional 151object and never block. All the remaining functions take an optional
143callback as last argument. If it is missing, then the function will be 152callback as last argument. If it is missing, then the function will be
144executed synchronously. In both cases, C<$!> will reflect the return value 153executed synchronously. In both cases, C<$!> will reflect the return value
145of the function. 154of the function.
146 155
147BDB functions that cannot block (mostly functions that manipulate 156BDB functions that cannot block (mostly functions that manipulate
148settings) are method calls on the relevant objects, so the rule of thumb 157settings) are method calls on the relevant objects, so the rule of thumb
149is: if its a method, its not blocking, if its a function, it takes a 158is: if it's a method, it's not blocking, if it's a function, it takes a
150callback as last argument. 159callback as last argument.
151 160
152In the following, C<$int> signifies an integer return value, 161In the following, C<$int> signifies an integer return value,
153C<octetstring> is a "binary string" (i.e. a perl string with no character 162C<octetstring> is a "binary string" (i.e. a perl string with no character
154indices >255), C<U32> is an unsigned 32 bit integer, C<int> is some 163indices >255), C<U32> is an unsigned 32 bit integer, C<int> is some
440=item $msg = BDB::strerror [$errno] 449=item $msg = BDB::strerror [$errno]
441 450
442Returns the string corresponding to the given errno value. If no argument 451Returns the string corresponding to the given errno value. If no argument
443is given, use C<$!>. 452is given, use C<$!>.
444 453
454Note that the BDB module also patches the C<$!> variable directly, so you
455should be able to get a bdb error string by simply stringifying C<$!>.
456
445=item $fileno = BDB::poll_fileno 457=item $fileno = BDB::poll_fileno
446 458
447Return the I<request result pipe file descriptor>. This filehandle must be 459Return the I<request result pipe file descriptor>. This filehandle must be
448polled for reading by some mechanism outside this module (e.g. Event or 460polled for reading by some mechanism outside this module (e.g. Event or
449select, see below or the SYNOPSIS). If the pipe becomes readable you have 461select, see below or the SYNOPSIS). If the pipe becomes readable you have

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines