Revision: | 1.2 |
Committed: | Sun Feb 11 22:08:18 2007 UTC (17 years, 4 months ago) by root |
Branch: | MAIN |
CVS Tags: | rel-1_801, rel-1_71, rel-1_92, rel-0_1, rel-0_5, rel-1_9, rel-1_8, rel-1_4, rel-1_0, rel-1_3, rel-1_2, rel-1_5, rel-1_44, rel-1_7, rel-1_6, rel-1_45, rel-1_88, rel-1_89, rel-1_42, rel-1_43, rel-1_41, rel-1_82, rel-1_83, rel-1_81, rel-1_86, rel-1_87, rel-1_84, rel-1_85, HEAD |
Changes since 1.1: | +9 -0 lines |
Log Message: | *** empty log message *** |
# | 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 | db_key_range $db, undef, "key[$_]", my $keyrange; my ($lt, $eq, $gt) = @$keyrange; |
34 | } |
35 | |
36 | my $c = $db->cursor; |
37 | my @del; |
38 | |
39 | for (;;) { |
40 | db_c_get $c, my $key, my $data, BDB::NEXT; |
41 | warn "<$!,$key,$data>"; |
42 | last if $!; |
43 | push @del, $key if rand > 0.9; |
44 | } |
45 | |
46 | { |
47 | my $seq = $db->sequence; |
48 | |
49 | db_sequence_open $seq, undef, "seq", BDB::CREATE; |
50 | db_sequence_get $seq, undef, 1, my $value; |
51 | warn "next sequence value: $value\n"; |
52 | } |
53 | |
54 | db_c_close $c, sub { }; |
55 | undef $c; |
56 | db_del $db, undef, $_ for @del; |
57 | |
58 | db_sync $db; |
59 |