Lines 61-67
Link Here
|
61 |
|
61 |
|
62 |
def db_driver=(new_db_driver) |
62 |
def db_driver=(new_db_driver) |
63 |
begin |
63 |
begin |
64 |
case new_db_driver || ENV['PKG_DBDRIVER'] || 'bdb_btree' |
64 |
case new_db_driver || ENV['PKG_DBDRIVER'] || 'qdbm' |
65 |
when 'pkg' |
65 |
when 'pkg' |
66 |
@db_driver = :pkg |
66 |
@db_driver = :pkg |
67 |
when 'bdb_btree' |
67 |
when 'bdb_btree' |
Lines 72-77
Link Here
|
72 |
@db_driver = :bdb1_btree |
72 |
@db_driver = :bdb1_btree |
73 |
when 'bdb1_hash', 'hash', 'bdb1' |
73 |
when 'bdb1_hash', 'hash', 'bdb1' |
74 |
@db_driver = :bdb1_hash |
74 |
@db_driver = :bdb1_hash |
|
|
75 |
when 'qdbm' |
76 |
@db_driver = :qdbm |
75 |
else |
77 |
else |
76 |
@db_driver = :dbm_hash |
78 |
@db_driver = :dbm_hash |
77 |
end |
79 |
end |
Lines 95-100
Link Here
|
95 |
next_driver = 'dbm' |
97 |
next_driver = 'dbm' |
96 |
require 'bdb1' |
98 |
require 'bdb1' |
97 |
@db_params = ["set_pagesize" => 1024, "set_cachesize" => 32 * 1024] |
99 |
@db_params = ["set_pagesize" => 1024, "set_cachesize" => 32 * 1024] |
|
|
100 |
when :qdbm |
101 |
next_driver = 'dbm' |
102 |
require 'depot' |
98 |
else |
103 |
else |
99 |
next_driver = nil |
104 |
next_driver = nil |
100 |
require 'dbm' |
105 |
require 'dbm' |
Lines 200-205
Link Here
|
200 |
db = BDB1::Btree.open @db_file, mode, perm, *@db_params |
205 |
db = BDB1::Btree.open @db_file, mode, perm, *@db_params |
201 |
when :bdb1_hash |
206 |
when :bdb1_hash |
202 |
db = BDB1::Hash.open @db_file, mode, perm, *@db_params |
207 |
db = BDB1::Hash.open @db_file, mode, perm, *@db_params |
|
|
208 |
when :qdbm |
209 |
qmode = mode == 'r' ? Depot::OREADER : (Depot::OWRITER | Depot::OCREAT) |
210 |
db = Depot::new(@db_file, qmode, perm) |
203 |
else |
211 |
else |
204 |
if mode == 'w+' |
212 |
if mode == 'w+' |
205 |
File.unlink(@db_file) if File.exist?(@db_file) |
213 |
File.unlink(@db_file) if File.exist?(@db_file) |