module FDB
def self.api_version(version)
def self.api_version(version) header_version = 730 if self.is_api_version_selected?() if @@chosen_version != version raise "FDB API already loaded at version #{@@chosen_version}." end return end if version < 14 raise "FDB API versions before 14 are not supported" end if version > header_version raise "Latest known FDB API version is #{header_version}" end @@chosen_version = version require_relative 'fdbimpl' err = FDBC.fdb_select_api_version_impl(version, header_version) if err.nonzero? if err == 2203 max_supported_version = FDBC.fdb_get_max_api_version() if header_version > max_supported_version raise "This version of the FoundationDB Ruby binding is not supported by the installed FoundationDB C library. The binding requires a library that supports API version #{header_version}, but the installed library supports a maximum version of #{max_supported_version}." else raise "API version #{version} is not supported by the installed FoundationDB C library." end end raise "FoundationDB API version error" end FDBC.init_c_api() require_relative 'fdbtuple' require_relative 'fdbdirectory' if version < 610 require_relative 'fdbimpl_v609' end if version > 22 require_relative 'fdblocality' end return end