ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/BDB/eg/basic_operations
Revision: 1.1
Committed: Tue Feb 6 01:09:41 2007 UTC (17 years, 4 months ago) by root
Branch: MAIN
Log Message:
*** empty log message ***

File Contents

# Content
1 #! perl
2
3 use strict;
4
5 use AnyEvent;
6 use BDB;
7
8 our $FH; open $FH, "<&=" . BDB::poll_fileno;
9 our $WATCHER = AnyEvent->io (fh => $FH, poll => 'r', cb => \&BDB::poll_cb);
10
11 my $env = db_env_create;
12 my $db;
13
14 warn "i3\n";#d#
15
16 mkdir "bdtest", 0700;
17
18 BDB::min_parallel 8;
19
20 db_env_open
21 $env,
22 "bdtest",
23 BDB::INIT_LOCK | BDB::INIT_LOG | BDB::INIT_MPOOL | BDB::INIT_TXN | BDB::RECOVER | BDB::USE_ENVIRON | BDB::CREATE,
24 0600;
25
26 $env->set_flags (BDB::AUTO_COMMIT | BDB::TXN_NOSYNC, 1);
27
28 $db = db_create $env;
29 db_open $db, undef, "table", undef, BDB::BTREE, BDB::AUTO_COMMIT | BDB::CREATE | BDB::READ_UNCOMMITTED, 0600;
30
31 for (1..1000) {
32 db_put $db, undef, "key[$_]", "data[$_]";
33 }
34
35 my $c = $db->cursor;
36 my @del;
37
38 for (;;) {
39 db_c_get $c, my $key, my $data, BDB::NEXT;
40 warn "<$!,$key,$data>";
41 last if $!;
42 push @del, $key if rand > 0.9;
43 }
44
45 db_c_close $c, sub { };
46 undef $c;
47 db_del $db, undef, $_ for @del;
48
49 db_sync $db;
50