IRISLIB database
Persistent Class Reference

This class contains the storage interface methods for the default storage structure. More...

Inheritance diagram for Persistent:
Collaboration diagram for Persistent:

Public Member Functions

_.Library.Status LoadData (_.Library.String id)
 Load object from persistent storage into memory. More...
 
_.Library.Status SaveData (_.Library.String id)
 SaveData() - Save the object to a persistent state (e.g. More...
 
- Public Member Functions inherited from Storage
_.Library.Status LoadData (_.Library.String id)
 LoadData() - loads an object from storage. More...
 
_.Library.Status SaveData (_.Library.String id)
 SaveData() - saves an object to disk, checks uniqueness and referential More...
 

Static Public Member Functions

_.Library.Status DeleteData (_.Library.String id, _.Library.Integer concurrency)
 DeleteData() More...
 
- Static Public Member Functions inherited from Storage
_.Library.Status DeleteData (_.Library.String id, _.Library.Integer concurrency)
 This method is normally generated by the storage class for persistent classes using. More...
 
_.Library.Status KillExtentData (_.Library.Boolean killstreams)
 KillExtentData() - kills extent data in storage. More...
 

Static Public Attributes

 STORAGEINTERFACE = None
 STORAGEINTERFACE defines the type of serialization implemented by this class. More...
 
- Static Public Attributes inherited from Storage
 IDTYPE = None
 Physical Storage Base Class.
 
 STORAGEINTERFACE = None
 STORAGEINTERFACE defines the type of serialization implemented by this class. More...
 

Static Private Member Functions

_.Library.Status CLASSNAMELogicalToStorage (_, val)
 AncestryLogicalToStorage
 
_.Library.Status CLASSNAMEStorageToLogical (_, val)
 AncestryStorageToLogical
 
_.Library.Boolean Exists (_.Library.ObjectIdentity oid)
 Exists() More...
 
_.Library.Boolean ExistsId (_.Library.String id)
 ExistsId() More...
 
_.Library.Status KillExtentData (_.Library.Boolean killstreams)
 Kill the data, index, and idlocations for extent root classes. More...
 
_.Library.Status LoadFromMemory (_.Library.String id, _.Library.String objstate, _.Library.String obj)
 Load object from persistent storage into memory. More...
 
_.Library.Status LockExtent (_.Library.Boolean shared)
 Acquire (s)hared or (e)xclusive locks based on locktype parameter.
 
_.Library.Status LockId (_.Library.String id, _.Library.Boolean shared, _.Library.Integer timeout)
 LockId() - Obtain an exclusive or shared lock on the object identified by id. More...
 
_.Library.Status OnDetermineClass (_.Library.ObjectIdentity oid, _.Library.String class)
 OnDetermineClass - find the most-specific-type-class for the given OID.
 
_.Library.Status PhysicalAddress (_.Library.String id, _.Library.String paddr)
 Load object from persistent storage into memory. More...
 
_.Library.Status SaveDirect (_.Library.String id, _.Library.List idList, _.Library.Binary data, _.Library.Integer concurrency)
 SaveDirect() - saves an object to disk, checks uniqueness and referential More...
 
_.Library.Status SaveIndices (_.Library.String pStartId, _.Library.String pEndId, _.Library.Boolean lockExtent)
 Files the indices for all objects whose ID is in the range defined by pStartId and pEndId. More...
 
_.Library.Status SortBegin (_.Library.List idxlist, _.Library.Integer excludeunique)
 SortBegin() More...
 
_.Library.Status SortEnd (_.Library.List idxlist, _.Library.Integer commit, _.Library.Integer excludeunique)
 SortEnd() More...
 
_.Library.Status UnlockExtent (_.Library.Boolean shared, _.Library.Boolean immediate)
 Release (s)hared or (e)xclusive locks based on locktype parameter.
 
_.Library.Status UnlockId (_.Library.String id, _.Library.Boolean shared, _.Library.Boolean immediate)
 UnlockId() - Release an exclusive or shared lock on the object identified by id. More...
 

Detailed Description

This class contains the storage interface methods for the default storage structure.

The storage interface methods, which are implemented as method generators, work in conjunction with the persistent interface methods of the <class>Persistent</class> class to provide persistent behavior for objects.

The methods of this class are not meant to be called directly. Use the methods of the <class>Persistent</class> class which, in turn, call the appropriate method.

Member Function Documentation

◆ DeleteData()

_.Library.Status DeleteData ( _.Library.String  id,
_.Library.Integer  concurrency 
)
static

DeleteData()

Delete object from persistent storage The caller is responsible for calling IdSet() Don't include class name with id in input parameter

◆ Exists()

_.Library.Boolean Exists ( _.Library.ObjectIdentity  oid)
staticprivate

Exists()

Check to see if an OID exists in the extent of this class...

◆ ExistsId()

_.Library.Boolean ExistsId ( _.Library.String  id)
staticprivate

ExistsId()

Check to see if an ID exists in the extent of this class...

◆ KillExtentData()

_.Library.Status KillExtentData ( _.Library.Boolean  killstreams)
staticprivate

Kill the data, index, and idlocations for extent root classes.

Return an error if the class

is not the extent root class. If killstreams is true (default is false) it will also kill the default stream storage global.

◆ LoadData()

Load object from persistent storage into memory.

The caller is responsible for calling IdSet()

Don't include class name with id in input parameter

◆ LoadFromMemory()

_.Library.Status LoadFromMemory ( _.Library.String  id,
_.Library.String  objstate,
_.Library.String  obj 
)
staticprivate

Load object from persistent storage into memory.

The caller is responsible for calling IdSet()

Don't include class name with id in input parameter state is the physical data where the structure of state mirrors the structure of the object on disk obj is an array, subscripted by property name where each array element is equal to the property value named as the subscript.

◆ LockId()

_.Library.Status LockId ( _.Library.String  id,
_.Library.Boolean  shared,
_.Library.Integer  timeout 
)
staticprivate

LockId() - Obtain an exclusive or shared lock on the object identified by id.

The type of lock obtained is determined by shared. This method overrides the implementation from Library.Persistent.

◆ PhysicalAddress()

_.Library.Status PhysicalAddress ( _.Library.String  id,
_.Library.String  paddr 
)
staticprivate

Load object from persistent storage into memory.

The caller is responsible for calling IdSet()

Don't include class name with id in input parameter

◆ SaveData()

SaveData() - Save the object to a persistent state (e.g.

store it on disk).

Returns: oid or "" if save fails

◆ SaveDirect()

_.Library.Status SaveDirect ( _.Library.String  id,
_.Library.List  idList,
_.Library.Binary  data,
_.Library.Integer  concurrency 
)
staticprivate

SaveDirect() - saves an object to disk, checks uniqueness and referential

integrity constraints, and maintains index structures. This method is implemented by the storage class.

◆ SaveIndices()

_.Library.Status SaveIndices ( _.Library.String  pStartId,
_.Library.String  pEndId,
_.Library.Boolean  lockExtent 
)
staticprivate

Files the indices for all objects whose ID is in the range defined by pStartId and pEndId.

If pEndID is null then it defaults to pStartId. If pStartId is null then the range is empty and no filing will occur.

If lockExtent is true then an extent lock will be acquired before the indices are built. If the lock cannot be acquired then an error is returned. The lock is released after the index filing is completed.

Returns a <CLASS>Status</CLASS> value indicating success or failure.

◆ SortBegin()

_.Library.Status SortBegin ( _.Library.List  idxlist,
_.Library.Integer  excludeunique 
)
staticprivate

SortBegin()

This method will start a system merge sort for all indices (idxlist is null) or for specified indices

◆ SortEnd()

_.Library.Status SortEnd ( _.Library.List  idxlist,
_.Library.Integer  commit,
_.Library.Integer  excludeunique 
)
staticprivate

SortEnd()

This method will end a system merge sort for all indices (idxlist is null) or for specified indices

◆ UnlockId()

_.Library.Status UnlockId ( _.Library.String  id,
_.Library.Boolean  shared,
_.Library.Boolean  immediate 
)
staticprivate

UnlockId() - Release an exclusive or shared lock on the object identified by id.

The type of lock released is determined by shared. This method overrides the implementation from Library.Persistent.

Member Data Documentation

◆ STORAGEINTERFACE

STORAGEINTERFACE = None
static

STORAGEINTERFACE defines the type of serialization implemented by this class.

The value has to match the classtype of the class that is inheriting the serialization interface.