ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/BDB/eg/basic_operations
Revision: 1.2
Committed: Sun Feb 11 22:08:18 2007 UTC (17 years, 3 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 ***

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