Learning
Documentation
Community
Open Exchange
Global Masters
Home / Class Reference / %SYS namespace / Config.Shards
Private  Storage   

Config.Shards


This class allows you to modify and view the [Shards] section of the CPF file through programatic APIs. While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, then specify the CPFFile you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Create/Get/Modify/Delete) to modify the properties by passing in the correct parameters, or use Object sytax to open and directly manipulate the config objects (Open() and Exists()). Most objects created here need only to specify the Name of the object, and 1 or 2 properties since the the defaults are what are commonly used for most cases.

EXAMPLE:

; Use class methods to create an instance
%SYS>s Name="SHARDA"
%SYS>s Properties("Address")="127.0.0.10"
%SYS>s Status=##Class(Config.Shards).Create(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Use class methods to modify properties
%SYS>s Status=##Class(Config.Shards).Get(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
%SYS>zw Properties
Properties("Address")="127.0.0.1"
Properties("Port")=1973
%SYS>s Properties("Port")=1972
%SYS>s Status=##Class(Config.Shards).Modify(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now use Objects to modify properties
%SYS>s Obj=##Class(Config.Shards).Open(Name)
; We could have used i ##Class(Config.Shards).Exists(Name,.Obj) instead of Open()
%SYS>w Obj.Port
1972
%SYS>s Obj.Port=1975
%SYS>s Status=Obj.%Save()
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now delete the object we just created
%SYS>s Status=##Class(Config.Shards).Delete(Name)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 2 9 1 1


Summary


Properties
Address CPFFile Comments Flags Name
Port

Methods
%AddToSaveSet %AddToSyncSet %BMEBuilt %BuildIndicesAsync
%BuildIndicesAsyncResponse %CheckConstraints %CheckConstraintsForExtent %ClassIsLatestVersion
%ClassName %ComposeOid %ConstructClone %Delete
%DeleteExtent %DeleteId %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %Exists %ExistsId %Extends
%GUID %GUIDSet %GetLock %GetParameter
%GetSwizzleObject %Id %InsertBatch %IsA
%IsModified %IsNull %KillExtent %KillExtentData
%LoadFromMemory %LockExtent %LockId %New
%NormalizeObject %ObjectIsNull %ObjectModified %Oid
%OnBeforeAddToSync %OnDetermineClass %Open %OpenId
%OriginalNamespace %PackageName %PhysicalAddress %PurgeIndices
%Reload %RemoveFromSaveSet %ResolveConcurrencyConflict %RollBack
%Save %SaveDirect %SaveIndices %SerializeObject
%SetModified %SortBegin %SortEnd %SyncObjectIn
%SyncTransport %UnlockExtent %UnlockId %ValidateIndices
%ValidateObject Create Delete Exists
Get GetList Help InUse
Modify Open XMLDTD XMLExport
XMLExportToStream XMLExportToString XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType


Parameters


• parameter CAPITALNAME = 1;
Server name is always capitalized.

Properties


• property Address as Config.Host(MAXLEN=256,MINLEN=1) [ Required ];
IP Address to connect to.
• property Port as %Integer [ InitialExpression = 1972,Required ];
IP Port to connect to.

Methods


• classmethod InUse(ShardName As %String, ByRef Status) as %Boolean
Determine if the Shard is in use by a namespace

Queries


• query List(Filter As %String = "", CPFFile As %String = "", Flags As %Integer = 0, Format As %Integer = 0)
Selects Name As %String, Address As %String, Port As %Integer
List Shards in a CPF file.

Parameters:
Filter - Filter passed to query
CPFFile - Name of the CPF file to use. A null string means use the active CPF file.
Flags - Currently ignored.
Format
0 - Standard report list format
1 - ^CONFIG global format
2 - CPF file format format
Note: This query may change in future versions

Indices


•index (CPFNameSectionHeaderName on CPFName,SectionHeader,Name) [IdKey,Unique];