| Revision: | 1.2 |
| Committed: | Sun Feb 11 22:08:18 2007 UTC (19 years, 7 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 |
| Error occurred while calculating annotation data. | |
| 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 |