Skip to main content

%DeepSee.CubeManager.Utils

class %DeepSee.CubeManager.Utils extends %Library.RegisteredObject

Utility container for the cube manager

Method Inventory

Parameters

parameter DOMAIN = %DeepSee;

Methods

classmethod BuildAllRegisteredGroups(pMap As %DeepSee.CubeSchedule.Map = "", ByRef pBuildStats, pVerbose As %Boolean = 1) as %Status
This is a utility method which executes a complete build of all currently registered cubes in the current cube registry. The build initiated by this utility will walk through every cube and build it in the order it is listed in the DeepSee Cube Registry page. This can be used to initialize the system, for example after importing a new registry definition or restoring a backup of the source data.
Build statistics for each cube in the registry can be returned by reference in pBuildStats(CUBENAME).
classmethod BuildOneRegisteredGroup(pGroupName="", pMap As %DeepSee.CubeSchedule.Map = "", ByRef pBuildStats, pVerbose As %Boolean = 1) as %Status
This is a utility method which executes a complete build of one registered cube group in the current cube registry. The build initiated by this utility will walk through every cube and build it in the order it is listed in the DeepSee Cube Registry page.

The value of pGroupName must exactly match the case of the registered group name to inititate the group build.
Build statistics for each cube in the group can be returned by reference in pBuildStats(CUBENAME).
classmethod BuildRegistryMap(ByRef pStatus, pClassName="", pRegisteredOnly=0, ByRef pLookup) as %DeepSee.CubeSchedule.Map
Retrieve the map that describes the current state of the Cube Registry and all other unregistered cubes on the system. By default, the currently active registry is loaded first and then this is augmented with the remaining unregistered natural cube groups. The registry object can be loaded from a non-active registry class by supplying the name of the alternate storage class in the pClassName parameter. The unregistered groups may be ignored when loading the class by setting pRegisteredOnly = 1

Optionally pLookup may be constructed to provide an index of the ordered locations of every cube loaded into the map object. This takes the form
pLookup(CubeKey) = $LB(GroupPosition,CubePosition)
  Set CubeName = "HOLEFOODS"
  Set Map = ##class(%DeepSee.CubeManager.Utils).BuildRegistryMap(,,,.Lookup)
  Set GroupIdx = $LG(Lookup("cubes",CubeName),1)
  Set CubeIdx = $LG(Lookup("cubes",CubeName),2)
  Set Cube = Map.Groups.GetAt(GroupIdx).Cubes.GetAt(CubeIdx)
  
classmethod GetActiveRegistry() as %String
Retrieve the name of the Cube Registry currently marked Active
classmethod GetLastUpdate(pCubeKey, pUpdateType="synch") as %String
Retrieves the timestamp of the the last registered data update for the cube. Updates performed outside of the Cube Manager will not be recognized in this check.
classmethod SetActiveRegistry(pClassName="DeepSee.DefaultCubeSchedule", pMustExist=1) as %Status
Change which Cube Registry is currently active. The Active Registry is the only one that is visible to the updater tasks.
classmethod WriteToRegistry(ByRef pCubeMap As %DeepSee.CubeSchedule.Map, ByRef pValidation) as %Status
Walk through a CubeManager.RegistryMap object and register the cubes. This saves the complete registry to an XData block in a container class, and saves limited information to the registry table for SQL reference.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab