class FDB::Cluster

Attributes

options[R]

Public Class Methods

finalize(ptr) click to toggle source
# File lib/fdbimpl.rb, line 517
def self.finalize(ptr)
  proc do
    # puts "Destroying cluster #{ptr}"
    FDBC.fdb_cluster_destroy(ptr)
  end
end
new(cpointer) click to toggle source
# File lib/fdbimpl.rb, line 524
def initialize(cpointer)
  @cpointer = cpointer
  @options = ClusterOptions.new lambda { |code, param|
    FDBC.check_error FDBC.fdb_cluster_set_option(cpointer, code, param, param.nil? ? 0 : param.bytesize)
  }
  ObjectSpace.define_finalizer(self, self.class.finalize(@cpointer))
end

Public Instance Methods

open_database(name="DB") click to toggle source
# File lib/fdbimpl.rb, line 532
def open_database(name="DB")
  f = FDBC.fdb_cluster_create_database(@cpointer, name, name.bytesize)
  dpointer = FFI::MemoryPointer.new :pointer
  FDBC.check_error FDBC.fdb_future_block_until_ready(f)
  FDBC.check_error FDBC.fdb_future_get_database(f, dpointer)
  Database.new dpointer.get_pointer(0)
end