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 *** |
# | User | Rev | Content |
---|---|---|---|
1 | root | 1.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 | root | 1.2 | db_key_range $db, undef, "key[$_]", my $keyrange; my ($lt, $eq, $gt) = @$keyrange; |
34 | root | 1.1 | } |
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 | root | 1.2 | { |
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 | root | 1.1 | db_c_close $c, sub { }; |
55 | undef $c; | ||
56 | db_del $db, undef, $_ for @del; | ||
57 | |||
58 | db_sync $db; | ||
59 |