cdb-full 0.5a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/COPYING +6 -0
- data/FILES +88 -0
- data/README +163 -0
- data/VERSION +1 -0
- data/cdb-0.75/CHANGES +16 -0
- data/cdb-0.75/FILES +78 -0
- data/cdb-0.75/Makefile +320 -0
- data/cdb-0.75/README +7 -0
- data/cdb-0.75/SYSDEPS +3 -0
- data/cdb-0.75/TARGETS +66 -0
- data/cdb-0.75/TODO +1 -0
- data/cdb-0.75/VERSION +1 -0
- data/cdb-0.75/alloc.c +32 -0
- data/cdb-0.75/alloc.h +8 -0
- data/cdb-0.75/auto-str.c +44 -0
- data/cdb-0.75/auto_home.h +6 -0
- data/cdb-0.75/buffer.c +10 -0
- data/cdb-0.75/buffer.h +56 -0
- data/cdb-0.75/buffer_0.c +12 -0
- data/cdb-0.75/buffer_1.c +6 -0
- data/cdb-0.75/buffer_1s.c +6 -0
- data/cdb-0.75/buffer_2.c +6 -0
- data/cdb-0.75/buffer_copy.c +16 -0
- data/cdb-0.75/buffer_get.c +67 -0
- data/cdb-0.75/buffer_put.c +88 -0
- data/cdb-0.75/byte.h +13 -0
- data/cdb-0.75/byte_copy.c +14 -0
- data/cdb-0.75/byte_cr.c +16 -0
- data/cdb-0.75/byte_diff.c +16 -0
- data/cdb-0.75/cdb.c +136 -0
- data/cdb-0.75/cdb.h +37 -0
- data/cdb-0.75/cdb_hash.c +21 -0
- data/cdb-0.75/cdb_make.c +153 -0
- data/cdb-0.75/cdb_make.h +39 -0
- data/cdb-0.75/cdbdump.c +83 -0
- data/cdb-0.75/cdbget.c +67 -0
- data/cdb-0.75/cdbmake-12.sh +8 -0
- data/cdb-0.75/cdbmake-sv.sh +22 -0
- data/cdb-0.75/cdbmake.c +110 -0
- data/cdb-0.75/cdbstats.c +125 -0
- data/cdb-0.75/cdbtest.c +119 -0
- data/cdb-0.75/choose.sh +18 -0
- data/cdb-0.75/conf-cc +3 -0
- data/cdb-0.75/conf-home +3 -0
- data/cdb-0.75/conf-ld +3 -0
- data/cdb-0.75/error.c +109 -0
- data/cdb-0.75/error.h +25 -0
- data/cdb-0.75/error_str.c +271 -0
- data/cdb-0.75/exit.h +6 -0
- data/cdb-0.75/find-systype.sh +159 -0
- data/cdb-0.75/fmt.h +25 -0
- data/cdb-0.75/fmt_ulong.c +13 -0
- data/cdb-0.75/hier.c +15 -0
- data/cdb-0.75/install.c +149 -0
- data/cdb-0.75/instcheck.c +108 -0
- data/cdb-0.75/open.h +10 -0
- data/cdb-0.75/open_read.c +6 -0
- data/cdb-0.75/open_trunc.c +6 -0
- data/cdb-0.75/random.cdb +0 -0
- data/cdb-0.75/readwrite.h +7 -0
- data/cdb-0.75/rts.exp +251 -0
- data/cdb-0.75/rts.sh +1 -0
- data/cdb-0.75/rts.tests +210 -0
- data/cdb-0.75/scan.h +28 -0
- data/cdb-0.75/scan_ulong.c +11 -0
- data/cdb-0.75/seek.h +15 -0
- data/cdb-0.75/seek_cur.c +7 -0
- data/cdb-0.75/seek_set.c +7 -0
- data/cdb-0.75/str.h +14 -0
- data/cdb-0.75/str_len.c +14 -0
- data/cdb-0.75/strerr.h +78 -0
- data/cdb-0.75/strerr_die.c +31 -0
- data/cdb-0.75/strerr_sys.c +12 -0
- data/cdb-0.75/testzero.c +35 -0
- data/cdb-0.75/trycpp.c +7 -0
- data/cdb-0.75/tryulong32.c +11 -0
- data/cdb-0.75/uint32.h1 +11 -0
- data/cdb-0.75/uint32.h2 +11 -0
- data/cdb-0.75/uint32_pack.c +21 -0
- data/cdb-0.75/uint32_unpack.c +31 -0
- data/cdb-0.75/warn-auto.sh +2 -0
- data/cdb-0.75/x86cpuid.c +38 -0
- data/cdb.c +372 -0
- data/depend +1 -0
- data/extconf.rb +11 -0
- data/lib/cdb.rb +90 -0
- data/sample/sample.rb +35 -0
- metadata +152 -0
data/depend
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
cdb.so : cdb.c $(hdrdir)/ruby.h
|
data/extconf.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'mkmf'
|
2
|
+
|
3
|
+
system('ln -sf cdb-0.75 cdb')
|
4
|
+
system('make -C cdb') or abort "failed to make cdb"
|
5
|
+
|
6
|
+
$LOCAL_LIBS += ['cdb.a', 'alloc.a', 'error.o', 'seek_set.o', 'byte_copy.o',
|
7
|
+
'byte_diff.o', 'buffer_get.o', 'buffer_put.o', 'str_len.o',
|
8
|
+
'byte_cr.o', 'buffer.o', 'uint32_pack.o', 'uint32_unpack.o'].
|
9
|
+
map { |s| 'cdb/' + s }.join(' ')
|
10
|
+
create_makefile('cdb')
|
11
|
+
|
data/lib/cdb.rb
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'cdb.so'
|
2
|
+
|
3
|
+
class CDB
|
4
|
+
def CDB.each(file, key = nil)
|
5
|
+
CDB.open(file) do |db|
|
6
|
+
if key
|
7
|
+
db.each(key) do |d|
|
8
|
+
yield d
|
9
|
+
end
|
10
|
+
else
|
11
|
+
db.each do |k, d|
|
12
|
+
yield k, d
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def CDB.create(file, tmp, mode = 0644)
|
19
|
+
CDBMake.open(tmp, mode) do |cm|
|
20
|
+
yield cm
|
21
|
+
end
|
22
|
+
File.rename(tmp, file)
|
23
|
+
end
|
24
|
+
|
25
|
+
def CDB.edit(file, tmp, mode = nil)
|
26
|
+
mode ||= File.stat(file).mode
|
27
|
+
CDB.open(file) do |c|
|
28
|
+
ary = c.to_ary
|
29
|
+
yield ary
|
30
|
+
CDBMake.open(tmp, mode) do |cm|
|
31
|
+
ary.each do |k, d|
|
32
|
+
cm.add(k, d)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
File.rename(tmp, file)
|
37
|
+
end
|
38
|
+
|
39
|
+
def CDB.update(file, tmp, mode = nil)
|
40
|
+
mode ||= File.stat(file).mode
|
41
|
+
CDB.open(file) do |c|
|
42
|
+
CDBMake.open(tmp, mode) do |cm|
|
43
|
+
yield(c, cm)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
File.rename(tmp, file)
|
47
|
+
end
|
48
|
+
|
49
|
+
def CDB.dump(file)
|
50
|
+
CDB.open(file) do |c|
|
51
|
+
str = %q()
|
52
|
+
c.each do |k, d|
|
53
|
+
str << %(+#{k.length},#{d.length}:#{k}->#{d}\n)
|
54
|
+
end
|
55
|
+
return str
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def to_hash
|
60
|
+
hash = Hash.new
|
61
|
+
each do |k, d|
|
62
|
+
hash[k] = d
|
63
|
+
end
|
64
|
+
return hash
|
65
|
+
end
|
66
|
+
|
67
|
+
def to_ary
|
68
|
+
ary = CDBEditable.new
|
69
|
+
each do |k, d|
|
70
|
+
ary.push [k, d]
|
71
|
+
end
|
72
|
+
return ary
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
class CDBEditable < Array
|
79
|
+
def [](key)
|
80
|
+
assoc(key)[1]
|
81
|
+
end
|
82
|
+
|
83
|
+
def []=(key, data)
|
84
|
+
push [key, data]
|
85
|
+
end
|
86
|
+
|
87
|
+
alias_method(:add, :[]=)
|
88
|
+
end
|
89
|
+
|
90
|
+
|
data/sample/sample.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/local/bin/ruby
|
2
|
+
|
3
|
+
require 'cdb'
|
4
|
+
|
5
|
+
CDB.create('sample.cdb', 'tmp', 0600) do |data|
|
6
|
+
data['eins'] = 'ichi'
|
7
|
+
data['zwei'] = 'ni'
|
8
|
+
data['drei'] = 'san'
|
9
|
+
data['vier'] = 'yon'
|
10
|
+
end
|
11
|
+
|
12
|
+
print CDB.dump('sample.cdb'), "\n"
|
13
|
+
|
14
|
+
|
15
|
+
CDB.update('sample.cdb', 'tmp') do |read, write|
|
16
|
+
write['one'] = read['eins']
|
17
|
+
write['two'] = read['zwei']
|
18
|
+
write['three'] = read['drei']
|
19
|
+
write['four'] = read['vier']
|
20
|
+
end
|
21
|
+
|
22
|
+
print CDB.dump('sample.cdb'), "\n"
|
23
|
+
|
24
|
+
|
25
|
+
CDB.edit('sample.cdb', 'tmp') do |data|
|
26
|
+
data['five'] = 'go'
|
27
|
+
data['six'] = 'roku'
|
28
|
+
data['seven'] = 'nana'
|
29
|
+
data['eight'] = 'hachi'
|
30
|
+
data.delete_if { |a,| /t/.match(a) }
|
31
|
+
end
|
32
|
+
|
33
|
+
print CDB.dump('sample.cdb'), "\n"
|
34
|
+
|
35
|
+
|
metadata
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cdb-full
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: true
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 5a
|
8
|
+
version: 0.5a
|
9
|
+
platform: ruby
|
10
|
+
authors:
|
11
|
+
- Kazuteru Okahashi
|
12
|
+
- Rich Lane
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-11-11 00:00:00 -08:00
|
18
|
+
default_executable:
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description:
|
22
|
+
email: rlane@club.cc.cmu.edu
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions:
|
26
|
+
- extconf.rb
|
27
|
+
extra_rdoc_files: []
|
28
|
+
|
29
|
+
files:
|
30
|
+
- COPYING
|
31
|
+
- FILES
|
32
|
+
- README
|
33
|
+
- VERSION
|
34
|
+
- cdb-0.75/uint32_unpack.c
|
35
|
+
- cdb-0.75/TODO
|
36
|
+
- cdb-0.75/CHANGES
|
37
|
+
- cdb-0.75/VERSION
|
38
|
+
- cdb-0.75/FILES
|
39
|
+
- cdb-0.75/SYSDEPS
|
40
|
+
- cdb-0.75/TARGETS
|
41
|
+
- cdb-0.75/conf-cc
|
42
|
+
- cdb-0.75/conf-ld
|
43
|
+
- cdb-0.75/conf-home
|
44
|
+
- cdb-0.75/Makefile
|
45
|
+
- cdb-0.75/cdbget.c
|
46
|
+
- cdb-0.75/cdbmake.c
|
47
|
+
- cdb-0.75/cdbdump.c
|
48
|
+
- cdb-0.75/cdbstats.c
|
49
|
+
- cdb-0.75/cdbtest.c
|
50
|
+
- cdb-0.75/cdbmake-12.sh
|
51
|
+
- cdb-0.75/cdbmake-sv.sh
|
52
|
+
- cdb-0.75/cdb.h
|
53
|
+
- cdb-0.75/cdb.c
|
54
|
+
- cdb-0.75/cdb_hash.c
|
55
|
+
- cdb-0.75/cdb_make.h
|
56
|
+
- cdb-0.75/cdb_make.c
|
57
|
+
- cdb-0.75/rts.sh
|
58
|
+
- cdb-0.75/rts.tests
|
59
|
+
- cdb-0.75/rts.exp
|
60
|
+
- cdb-0.75/testzero.c
|
61
|
+
- cdb-0.75/random.cdb
|
62
|
+
- cdb-0.75/choose.sh
|
63
|
+
- cdb-0.75/warn-auto.sh
|
64
|
+
- cdb-0.75/find-systype.sh
|
65
|
+
- cdb-0.75/trycpp.c
|
66
|
+
- cdb-0.75/x86cpuid.c
|
67
|
+
- cdb-0.75/alloc.c
|
68
|
+
- cdb-0.75/alloc.h
|
69
|
+
- cdb-0.75/auto-str.c
|
70
|
+
- cdb-0.75/auto_home.h
|
71
|
+
- cdb-0.75/buffer.c
|
72
|
+
- cdb-0.75/buffer.h
|
73
|
+
- cdb-0.75/buffer_0.c
|
74
|
+
- cdb-0.75/buffer_1.c
|
75
|
+
- cdb-0.75/buffer_1s.c
|
76
|
+
- cdb-0.75/buffer_2.c
|
77
|
+
- cdb-0.75/buffer_copy.c
|
78
|
+
- cdb-0.75/buffer_get.c
|
79
|
+
- cdb-0.75/buffer_put.c
|
80
|
+
- cdb-0.75/byte.h
|
81
|
+
- cdb-0.75/byte_copy.c
|
82
|
+
- cdb-0.75/byte_cr.c
|
83
|
+
- cdb-0.75/byte_diff.c
|
84
|
+
- cdb-0.75/error.c
|
85
|
+
- cdb-0.75/error.h
|
86
|
+
- cdb-0.75/error_str.c
|
87
|
+
- cdb-0.75/exit.h
|
88
|
+
- cdb-0.75/fmt.h
|
89
|
+
- cdb-0.75/fmt_ulong.c
|
90
|
+
- cdb-0.75/hier.c
|
91
|
+
- cdb-0.75/install.c
|
92
|
+
- cdb-0.75/instcheck.c
|
93
|
+
- cdb-0.75/open.h
|
94
|
+
- cdb-0.75/open_read.c
|
95
|
+
- cdb-0.75/open_trunc.c
|
96
|
+
- cdb-0.75/readwrite.h
|
97
|
+
- cdb-0.75/scan.h
|
98
|
+
- cdb-0.75/scan_ulong.c
|
99
|
+
- cdb-0.75/seek.h
|
100
|
+
- cdb-0.75/seek_cur.c
|
101
|
+
- cdb-0.75/seek_set.c
|
102
|
+
- cdb-0.75/str.h
|
103
|
+
- cdb-0.75/str_len.c
|
104
|
+
- cdb-0.75/strerr.h
|
105
|
+
- cdb-0.75/strerr_die.c
|
106
|
+
- cdb-0.75/strerr_sys.c
|
107
|
+
- cdb-0.75/tryulong32.c
|
108
|
+
- cdb-0.75/uint32.h1
|
109
|
+
- cdb-0.75/uint32.h2
|
110
|
+
- cdb-0.75/uint32_pack.c
|
111
|
+
- cdb-0.75/README
|
112
|
+
- cdb.c
|
113
|
+
- depend
|
114
|
+
- extconf.rb
|
115
|
+
- lib/cdb.rb
|
116
|
+
- sample/sample.rb
|
117
|
+
has_rdoc: true
|
118
|
+
homepage:
|
119
|
+
licenses: []
|
120
|
+
|
121
|
+
post_install_message:
|
122
|
+
rdoc_options: []
|
123
|
+
|
124
|
+
require_paths:
|
125
|
+
- lib
|
126
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
segments:
|
132
|
+
- 0
|
133
|
+
version: "0"
|
134
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
135
|
+
none: false
|
136
|
+
requirements:
|
137
|
+
- - ">"
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
segments:
|
140
|
+
- 1
|
141
|
+
- 3
|
142
|
+
- 1
|
143
|
+
version: 1.3.1
|
144
|
+
requirements: []
|
145
|
+
|
146
|
+
rubyforge_project:
|
147
|
+
rubygems_version: 1.3.7
|
148
|
+
signing_key:
|
149
|
+
specification_version: 3
|
150
|
+
summary: This package provides a Ruby interface to Dan Bernstein's cdb (constant database) library. The source of cdb-0.75 is included in the package.
|
151
|
+
test_files: []
|
152
|
+
|