Class: LS4::LocalTokyoCabinetMDS::HADB

Inherits:
BasicHADB
  • Object
show all
Defined in:
lib/ls4/service/mds_tc.rb

Constant Summary

Constants inherited from BasicHADB

BasicHADB::DEFAULT_WEIGHT

Instance Method Summary collapse

Methods inherited from BasicHADB

#close, #initialize, #read, #write

Constructor Details

This class inherits a constructor from LS4::BasicHADB

Instance Method Details

#ensure_db(db, addr) ⇒ Object



82
83
84
85
86
87
88
89
90
91
# File 'lib/ls4/service/mds_tc.rb', line 82

def ensure_db(db, addr)
	if FATAL_ERROR.include?(db.ecode)
		db.close rescue nil
		db.instance_eval("@ecode = ESUCCESS")  # FIXME
		db.open(*addr)
	end
	return db
rescue
	return nil
end

#error_result?(db, result) ⇒ Boolean

Returns:

  • (Boolean)


93
94
95
96
97
98
# File 'lib/ls4/service/mds_tc.rb', line 93

def error_result?(db, result)
	if FATAL_ERROR.include?(db.ecode)
		return db.errmsg(db.ecode)
	end
	return nil
end

#open_db(addr) ⇒ Object



72
73
74
75
76
77
78
79
80
# File 'lib/ls4/service/mds_tc.rb', line 72

def open_db(addr)
	db = TDB.new
	db.instance_eval("@enc = 'ASCII-8BIT'")  # FIXME
	unless db.open(addr, TDB::OCREAT|TDB::OWRITER)
		$log.warn "failed to connect local TokyoCabinet MDS: #{addr}"
	end
	db.setindex(COL_KEY, TDB::ITLEXICAL)
	db
end

#parse_addr(addr) ⇒ Object



68
69
70
# File 'lib/ls4/service/mds_tc.rb', line 68

def parse_addr(addr)
	addr
end