class Agama::Adapters::TC
Public Class Methods
new(params = {})
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 8 def initialize(params = {}) @e_lmemb = params[:lmemb] || 128 @e_nmemb = params[:nmemb] || 256 @e_bnum = params[:bnum] || 32749 @e_apow = params[:apow] || 8 @e_fpow = params[:fpow] || 10 @e_opts = params[:opts] || 0 end
Public Instance Methods
close()
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 43 def close if !@meta.close ecode = @meta.ecode raise "Error closing meta_db: #{@meta.errmsg(ecode)}" end if !@nodes.close ecode = @nodes.ecode raise "Error closing nodes_db: #{@nodes.errmsg(ecode)}" end if !@edges.close ecode = @edges.ecode raise "Error closing edges_db: #{@edges.errmsg(ecode)}" end end
e_cursor()
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 127 def e_cursor return TCCursor.new(@edges, "edge") end
e_del(key)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 118 def e_del (key) unless @edges.out(key, value) ecode = @edges.ecode raise "Error deleting from edges_db: #{@edges.errmsg(ecode)}" end true end
e_get(key)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 114 def e_get (key) return @edges.get(key) end
e_put(key, value)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 105 def e_put (key, value) unless @edges.put(key, value) ecode = @edges.ecode raise "Error inserting into edges_db: #{@edges.errmsg(ecode)}" end true end
m_del(key)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 72 def m_del (key) unless @meta.out(key) ecode = @meta.ecode raise "Error deleting from meta_db: #{@meta.errmsg(ecode)}" end end
m_get(key)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 68 def m_get (key) return @meta.get(key) end
m_put(key, value)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 61 def m_put (key, value) unless @meta.put(key, value) ecode = @meta.ecode raise "Error inserting meta_db: #{@meta.errmsg(ecode)}" end end
n_del(key)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 95 def n_del (key) unless @nodes.out(key) ecode = @nodes.ecode raise "Error deleting from nodes_db: #{@nodes.errmsg(ecode)}" end true end
n_get(key)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 91 def n_get (key) return @nodes.get(key) end
n_put(key, value)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 82 def n_put (key, value) unless @nodes.put(key, value) ecode = @nodes.ecode raise "Error inserting into nodes_db: #{@nodes.errmsg(ecode)}" end true end
open(path)
click to toggle source
# File lib/agama/adapters/tokyocabinet.rb, line 17 def open (path) @meta = HDB::new # open the meta database if !@meta.open(path + "/meta.tch", HDB::OWRITER | HDB::OCREAT) ecode = @meta.ecode raise "Error opening meta_db: #{@meta.errmsg(ecode)}" end @nodes = HDB::new # open the nodes database if !@nodes.open(path + "/nodes.tch", HDB::OWRITER | HDB::OCREAT) ecode = @nodes.ecode raise "Error opening nodes_db: #{@nodes.errmsg(ecode)}" end @edges = BDB::new @edges.tune(@e_lmemb, @e_nmemb, @e_bnum, @e_apow, @e_fpow, @e_opts) # open the edges database if !@edges.open(path + "/edges.tcb", BDB::OWRITER | BDB::OCREAT) ecode = @edges.ecode raise "Error opening edges_db: #{@edges.errmsg(ecode)}" end end