Home > Class Reference > %SYS namespace > %Storage.Shard

%Storage.Shard

class %Storage.Shard extends %Library.Storage

This class contains a set of storage interface methods for use in sharded environments. It is not for customer use.

Method Inventory (Including Private)

Parameters

parameter STORAGECOMPILERCLASS = %Compiler.Storage.Persistent;
parameter STORAGEINTERFACE = persistent;
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.

Methods (Including Private)

classmethod %BuildIndices(pIndexList As %Library.RawString = "", pAutoPurge As %Library.Integer = 1, pLockFlag As %Library.Integer = 0, pJournalFlag As %Library.Integer = 1, pStartID As %Library.RawString = "", pEndID As %Library.RawString = "", pIgnoreIndexList As %Library.RawString = "") as %Status [ Language = objectscript ]
Intercept calls to %BuildIndices and cause them to be executed on all the shards
private final classmethod %DeleteData(id As %String, concurrency As %Integer) as %Status [ Language = objectscript ]
%DeleteData() Delete object from persistent storage The caller is responsible for calling %IdSet() Don't include class name with id in input parameter
private final method %LoadData(id As %String) as %Status [ Language = objectscript ]
Load object from persistent storage into memory. The caller is responsible for calling %IdSet() Don't include class name with id in input parameter
classmethod %LockExtent(shared As %Boolean = 0) as %Status [ Language = objectscript ]
%LockExtent acquires a lock on the entire extent of the class. If shared is true then a shared lock is acquired, otherwise an exclusive lock is acquired. If the requested lock cannot be acquired then a failure %Status value is returned. The default implementation returns an error indicating that the method is not implemented. This method is automatically generated for persistent classes using %Storage.Persistent or %Storage.SQL.
classmethod %PurgeIndices(idxlist As %List = "", lockExtent As %Boolean = 0, pIgnoreIndexList As %RawString = "") as %Status [ Language = objectscript ]
Intercept calls to %PurgeIndices and cause them to be executed on all the shards
private final method %SaveData(id As %String) as %Status [ Language = objectscript ]
%SaveData() - Save the object to a persistent state (e.g. store it on disk). Returns: oid or "" if save fails
abstract classmethod %ShardKey(args... As %String) as %String [ Language = objectscript ]
Generate the shard key from the fields that make up the key. Not used currently.
classmethod %UnlockExtent(shared As %Boolean = 0, immediate As %Boolean = 0) as %Status [ Language = objectscript ]
%UnlockExtent releases a lock on the entire extent of the class. If shared is true then a shared lock is acquired, otherwise an exclusive lock is acquired. If the requested lock cannot be acquired then a failure %Status value is returned. The default implementation returns an error indicating that the method is not implemented. This method is automatically generated for persistent classes using %Storage.Persistent or %Storage.SQL.

Inherited Members

Inherited Methods (Including Private)