This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Home > Class Reference > %SYS namespace > %DeepSee.Query.Engine


class %DeepSee.Query.Engine extends %Library.RegisteredObject

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

Method Inventory (Including Private)


parameter MAXLISTING = 20000;
Maximum number of items in a listing. Setting this above 20000 can cause browser timeouts.

Methods (Including Private)

classmethod %AggregateAccum(pFunction As %String, ByRef pFlags, ByRef pContext, pValue) as %Status
This is called during processing for an aggregate function. It is called for each value in the set being aggregated.
classmethod %AggregateEnd(pFunction As %String, ByRef pFlags, ByRef pContext, Output pResult, Output pPendingInfo, pCubeName As %String = "", pQueryKey As %String = "") as %Status
This is called at the end of processing for an aggregate function.
If the aggregate is being computed in the background, then pPendingInfo will contain details.
classmethod %AggregateStart(pFunction As %String, ByRef pFlags, ByRef pContext) as %Status
This is called at the start of processing for an aggregate function.
pFunction is the aggregate function.
pFlags is a set of flags for the aggregate function.
pContext is used to hold any context required to compute the aggregate.
classmethod %CleanBranchesForSlicer(ByRef pSlicerBranches, pCube As %String = "") as %Status
The raw collection of the slicer branches can produce branches that define logically null sets. This removes those branches, and removes duplicate entries within a branch that would lead to extra processing.
classmethod %ClearCache(pCubeName As %String, pResultsOnly As %Boolean = 0) as %Status
Clear the results cache for the given cube. If pResultsOnly is true, then only clear the results cache.
classmethod %CubeRemoved(pCubeName As %String, pClassName As %String) as %Status
Notification that a cube has been removed / recompiled.
classmethod %MergeRelatedBranches(ByRef pRelatedBranch, Output pLocalBranch) as %Status
classmethod %ProcessResultSubset(pCube, pQueryKey, pAxisNo) as %Status
Process any subset functions that have been noted for processing in the axis cache under
For each subset node the results currently in the result cache will be trimmed according to the subset function and the count of that subset function. If multiple subset functions are nested within one another, the innermost function will be processed first and subsequent nested functions will be processed on the remaining results.
If these nodes do not exist in the axis cache this method will do nothing.
classmethod %ReduceOrsInSlicer(ByRef pSlicerBranches, pCube As %String = "") as %Status
Reduce to minimal AND logic for the purposes of identifying global fact restrictions. This attempts to simplify the restriction terms by reducing a slicer tree
structure into a single OR branch. This produces the minimally restrictive representation of the slicer. Note that this should not be used when calculating the final results, as it will throw away some restrictions!
classmethod %ResolveAggregateAddress(pCubeIndex="", pQueryKey="", ByRef pAddr, pRealAxisCount="", pFindAggregate=0) as %Status
Given a current address in the results cache, find the root node for the aggregate. If the input address is not the child of an aggregate, change nothing. If pFindAggregate=1, then search the axes for a special aggregate node. If none is found,
classmethod %SpecToJoinIndex(pSpec As %List, pCube As %String = "", pKey As %String = "", pUseAgents As %Boolean = 1, ByRef pRelation, ByRef pIntersect, pGroupId As %String = "") as %Status
Produce all join index entries for a particular pSpec. The references pCube and pKeyare required. The array pRelation contains the metadata about the current relationships in play in the cube. The by-reference pIntersect can be used to prevent duplicate calculations of the same join index keys.

Inherited Members

Inherited Methods (Including Private)

FeedbackOpens in a new window