Class SeaClient
object --+
|
oceanclient.OceanClient --+
|
SeaClient
This storage works exactly like the Ocean storage but the format of
data storage is different. It assumes that each data value is a list/set
of fixed length records (true for ls, lv, lo but not memes or links) With
this assumption, it does not need pickling and is capable of writing
partial records (to speed up commits). During a partial write, in case
there is no space, it uses binomial expansion to allocate more space at
the end of the file
This scheme is similar to MySQL except that we are storing 'multiple
tables' in one file (since each data value is a 'table') Hence, binomial
expansion is required for automatic tablespace management.
Multi Version Concurrency Control This is easily done in Ocean.
However, there are some complications for Sea. The thread local index
must also track the (old) length of each table so that it knows how much
data to read. In this way, the reference AND the num_rows of each table
is read from the index Hence, the header parsing of the tablespace is
only for validity checking (i.e the num_rows is stored redundantly in the
tablespace header as well as the index)
|
|
__init__(self,
fn,
options)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature |
|
|
|
|
|
|
|
|
|
|
|
|
|
| put(self,
i,
data,
added) |
|
|
|
|
rollback(self,
c=None)
Rollback the transaction |
|
|
|
|
| find_table_count(self,
i) |
|
|
|
|
|
|
|
|
|
Inherited from oceanclient.OceanClient:
__contains__,
__getitem__,
__len__,
__setitem__,
begin_transaction,
close,
get,
get_proxy,
has_key,
process_options,
setdefault,
stats
Inherited from object:
__delattr__,
__getattribute__,
__hash__,
__new__,
__reduce__,
__reduce_ex__,
__setattr__,
__str__
|
|
Inherited from object:
__class__
|
__init__(self,
fn,
options)
(Constructor)
|
|
x.__init__(...) initializes x; see x.__class__.__doc__ for
signature
- Overrides:
object.__init__
- (inherited documentation)
|
__repr__(self)
(Representation operator)
|
|
repr(x)
- Overrides:
object.__repr__
- (inherited documentation)
|