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

File Contents

# 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