Skip to main content

%DeepSee.Query.Engine2

Class %DeepSee.Query.Engine2 Extends %RegisteredObject [ System = 3 ]

Contains additional logic for calculating the results of a DeepSee query.

Methods

%ExecuteForBucket

ClassMethod %ExecuteForBucket(pCube As %String, pKey As %String, pBucketNo As %Integer, pSlotNo As %Integer, ByRef pSections As %List, pTrace As %Boolean = 0, ByRef pStats) As %Status [ Internal ]

Compute the values of cells within the result cube.
pCube is the name of the cube.
pKey is the query key.
pBucketNo is the logical bucket number to execute.
pSlotNo is the physical bucket slot number containing the results.
pSection, if defined, specifies, by axis, which sections of the result to calculate:
pSection(axis) = $LB(startNode,endNode)
pTrace is a debugging flag.
pStats is an array of statistics.

%SetFactIntoSpec

ClassMethod %SetFactIntoSpec(pFactCount As %Integer, pSpec As %List, pFact As %Integer, pKey As %String, pForce As %Boolean = 0) As %List [ Internal ]

Insert the given fact/key into the given cell spec.

%CombineSpecs

ClassMethod %CombineSpecs(pFactCount As %Integer, pSpec1 As %List, pSpec2 As %List, pRelationsOnly = 0) As %List [ Internal ]

Combine 2 cell "specs" and return the resulting spec.
Optionally set the pRelationsOnly flag to combine only the relation components of the spec.

%ApplySlicerMask

ClassMethod %ApplySlicerMask(pCube As %String, pSlicerKey As %String = "", ByRef pExtent, pHasRelations As %Boolean = 0, ByRef pRelation) As %Status [ Internal ]

Apply the slicer mask to a given query and bucket number.

%GetAxisInfo

ClassMethod %GetAxisInfo(pCubeName As %String, pKey As %String, Output pAxisType As %String, Output pAxisKey As %String, Output pAxisSize As %Integer, Output pSlicerAxis As %Boolean) As %Integer

For a given cube and query (key) return the number of axes (including the slicer).
pAxisType is an array containing the type of each axis: "axis" or "slicer".
pAxisNode is an array containing the top node number for each axis.
pAxisSize is an array containing the number of leaf nodes for each axis.
pSlicerAxis indicates whether there is a slicer axis. If there is this will contain the axis number for the slicer otherwise 0.

%CanonizeAddr

ClassMethod %CanonizeAddr(pAddr As %String) As %String [ Internal ]

Take a cell address and return its canonic form.

%CanonizeRelationKey

ClassMethod %CanonizeRelationKey(pKeyCode As %String) As %String [ Internal ]

Take a relationship key code and return its canonic form (put all pieces in alpha-order).

PrintBits

ClassMethod PrintBits(pMsg, pBits) [ Internal ]

Diagnostic.