| 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 |
| 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 |