# Implementation of a sorted, balanced tree structure
#
# Inherit from BDB::Common
#
class BDB::Btree < BDB::Common
# Return an Hash with the fields (description for 4.0.14)
# * bt_magic : Magic number that identifies the file as a Btree database.
# * bt_version : The version of the Btree database.
# * bt_nkeys : the number of unique keys in the database.
# * bt_ndata : the number of key/data pairs in the database.
# * bt_pagesize : Underlying database page size, in bytes.
# * bt_minkey : The minimum keys per page.
# * bt_re_len : The length of fixed-length records.
# * bt_re_pad : The padding byte value for fixed-length records.
# * bt_levels : Number of levels in the database.
# * bt_int_pg : Number of database internal pages.
# * bt_leaf_pg : Number of database leaf pages.
# * bt_dup_pg : Number of database duplicate pages.
# * bt_over_pg : Number of database overflow pages.
# * bt_free : Number of pages on the free list.
# * bt_int_pgfree : Number of bytes free in database internal pages.
# * bt_leaf_pgfree : Number of bytes free in database leaf pages.
# * bt_dup_pgfree : Number of bytes free in database duplicate pages.
# * bt_over_pgfree : Number of bytes free in database overflow pages.
def stat(flags = 0)
end
end
# Implementation of Extended Linear Hashing
#
# Inherit from BDB::Common
#
class BDB::Hash < BDB::Common
# Return an Hash with the fields (description for 4.0.14)
# * hash_magic : Magic number that identifies the file as a Hash file.
# * hash_version : The version of the Hash database.
# * hash_nkeys : The number of unique keys in the database.
# * hash_ndata : The number of key/data pairs in the database.
# * hash_pagesize : The underlying Hash database page (and bucket) size, in bytes.
# * hash_nelem : The estimated size of the hash table specified at database-creation time.
# * hash_ffactor : The desired fill factor (number of items per bucket) specified at database-creation time.
# * hash_buckets : The number of hash buckets.
# * hash_free : The number of pages on the free list.
# * hash_bfree :The number of bytes free on bucket pages.
# * hash_bigpages : The number of big key/data pages.
# * hash_big_bfree : The number of bytes free on big item pages.
# * hash_overflows : The number of overflow pages
# * hash_ovfl_free : The number of bytes free on overflow pages.
# * hash_dup : The number of duplicate pages.
# * hash_dup_free : The number of bytes free on duplicate pages.
def stat(flags = 0)
end
end
# Stores both fixed and variable-length records with logical record
# numbers as keys
#
# Inherit from BDB::Common
#
class BDB::Recno < BDB::Common
#Removes and returns an association from the database.
#
def shift
end
# Return an Hash with the fields (description for 4.0.14)
# * bt_magic : Magic number that identifies the file as a Btree database.
# * bt_version : The version of the Btree database.
# * bt_nkeys : The exact number of records in the database.
# * bt_ndata : The exact number of records in the database.
# * bt_pagesize : Underlying database page size, in bytes.
# * bt_minkey : The minimum keys per page.
# * bt_re_len : The length of fixed-length records.
# * bt_re_pad : The padding byte value for fixed-length records.
# * bt_levels : Number of levels in the database.
# * bt_int_pg : Number of database internal pages.
# * bt_leaf_pg : Number of database leaf pages.
# * bt_dup_pg : Number of database duplicate pages.
# * bt_over_pg : Number of database overflow pages.
# * bt_free : Number of pages on the free list.
# * bt_int_pgfree : Number of bytes free in database internal pages.
# * bt_leaf_pgfree : Number of bytes free in database leaf pages.
# * bt_dup_pgfree : Number of bytes free in database duplicate pages.
# * bt_over_pgfree : Number of bytes free in database overflow pages.
def stat(flags = 0)
end
end
# Stores fixed-length records with logical record numbers as keys.
# It is designed for fast inserts at the tail and has a special cursor
# consume operation that deletes and returns a record from the head of
# the queue
#
# Inherit from BDB::Common
#
class BDB::Queue < BDB::Common
#Push the values
#
def push values
end
#Removes and returns an association from the database.
#
def shift
end
# Return an Hash with the fields (description for 4.0.14)
# * qs_magic : Magic number that identifies the file as a Queue file.
# * qs_version : The version of the Queue file type.
# * qs_nkeys : The number of records in the database.
# * qs_ndata : The number of records in the database.
# * qs_pagesize : Underlying database page size, in bytes.
# * qs_extentsize : Underlying database extent size, in pages.
# * qs_pages : Number of pages in the database.
# * qs_re_len : The length of the records.
# * qs_re_pad : The padding byte value for the records.
# * qs_pgfree : Number of bytes free in database pages.
# * qs_first_recno : First undeleted record in the database.
# * qs_cur_recno : Last allocated record number in the database.
def stat(flags = 0)
end
end
# Don't mix these methods with methods of BDB::Cursor
#
# All instance methods has the same syntax than the methods of Array
#
#BDB::Recnum.open(name, subname, flags, mode)
#
#is equivalent to
#
#BDB::Recno.open(name, subname, flags, mode,
#"set_flags" => BDB::RENUMBER, "set_array_base" => 0)
#
# Inherit from BDB::Common
class BDB::Recnum < BDB::Common
#Element reference - with the following syntax
#
#self[nth]
#
#retrieves the nth item from an array. Index starts from zero.
#If index is the negative, counts backward from the end of the array.
#The index of the last element is -1. Returns nil, if the nth
#element is not exist in the array.
#
#self[start..end]
#
#returns an array containing the objects from start to end,
#including both ends. if end is larger than the length of the array,
#it will be rounded to the length. If start is out of an array
#range , returns nil.
#And if start is larger than end with in array range, returns
#empty array ([]).
#
#self[start, length]
#
#returns an array containing length items from start.
#Returns nil if length is negative.
#
def [](args)
end
#Element assignement -- with the following syntax
#
#self[nth] = val
#
#changes the nth element of the array into val.
#If nth is larger than array length, the array shall be extended
#automatically. Extended region shall be initialized by nil.
#
#self[start..end] = val
#
#replace the items from start to end with val.
#If val is not an array, the type of val will be
#converted into the Array using to_a method.
#
#self[start, length] = val
#
#replace the length items from start with val.
#If val is not an array, the type of val will be
#converted into the Array using to_a.
#
def []=(args, val)
end
#concatenation
#
def +(other)
end
#repetition
#
def *(times)
end
#substraction
#
def -(other)
end
#returns a new array which contains elements belong to both elements.
#
def &(other)
end
#join
#
def |(other)
end
#append a new item with value obj. Return self
#
def <<(obj)
end
#comparison : return -1, 0 or 1
#
def <=>(other)
end
#delete all elements
#
def clear
end
#Returns a new array by invoking block once for every element,
#passing each element as a parameter to block. The result of block
#is used as the given element
#
def collect
yield item
end
#invokes block once for each element of db, replacing the element
#with the value returned by block.
#
def collect!
yield item
end
#append other to the end
#
def concat(other)
end
#delete the item which matches to val
#
def delete(val)
end
#delete the item at pos
#
def delete_at(pos)
end
#delete the item if the block return true
#
def delete_if
yield x
end
#delete the item if the block return true
#
def reject!
yield x
end
#iterate over each item
#
def each
yield x
end
#iterate over each index
#
def each_index
yield i
end
#return true if the db file is empty
#
def empty?
end
#set the entire db with val
#
def fill(val)
end
#fill the db with val from start
#
def fill(val, start[, length])
end
#set the db with val from start to end
#
def fill(val, start..end)
end
#returns true if the given val is present
#
def include?(val)
end
#returns the index of the item which equals to val.
#If no item found, returns nil
#
def index(val)
end
#returns an array consisting of elements at the given indices
#
def indexes(index_1,..., index_n)
end
#returns an array consisting of elements at the given indices
#
def indices(index_1,..., index_n)
end
#returns a string created by converting each element to a string
#
def join([sep])
end
#return the number of elements of the db file
#
def length
end
#same than length
def size
end
#return the number of non-nil elements of the db file
#
def nitems
end
#pops and returns the last value
#
def pop
end
#appends obj
#
def push(obj, ...)
end
#replaces the contents of the db file with the contents of other
#
def replace(other)
end
#returns the array of the items in reverse order
#
def reverse
end
#replaces the items in reverse order.
#
def reverse!
end
#iterate over each item in reverse order
#
def reverse_each
yield x
end
#returns the index of the last item which verify item == val
#
def rindex(val)
end
#remove and return the first element
#
def shift
end
#return an Array with all elements
#
def to_a
end
#same than to_a
def to_ary
end
#insert obj to the front of the db file
#
def unshift(obj)
end
end