%DeepSee.Query.node
Class %DeepSee.Query.node Extends (%RegisteredObject, %XML.Adaptor) [ Abstract, System = 3 ]
Base class for DeepSee RunTime objects.
Parameters
XMLIGNORENULL
Parameter XMLIGNORENULL = 1;
XMLIGNOREINVALIDATTRIBUTE
Parameter XMLIGNOREINVALIDATTRIBUTE = 0;
NAMESPACE
Parameter NAMESPACE = "http://www.intersystems.com/deepsee/query";
Properties
parent
Relationship parent As %DeepSee.Query.group(XMLPROJECTION = "none") [ Cardinality = one, Inverse = children ];
Parent of this node.
The type of the parent depends on context.
value
Property value As %DeepSee.Datatype.string(MAXLEN = 32000, XMLPROJECTION = "attribute");
Value of this node. This is used by nodes that provide values.
%PreProcessed
Property %PreProcessed As %Boolean(XMLPROJECTION = "none");
Used to note if this instance of this node has run its %PreProcess method
Methods
%PrintNode
Method %PrintNode(pLevel As %Integer = 0)
Diagnostic. Print value of this node to the console.
%IsEnabled
Method %IsEnabled(pCube As %String = "", Output pStatus As %Status = {$$$OK}, Output pReason As %String = "") As %Boolean
Test this node to make sure all data references are currently marked enabled in the cube.
%GetType
Method %GetType() As %String
Return the type of this node.
The type can be one of the $$$dst macros.
This is implemented by subclasses.
%GetValue
Method %GetValue() As %String
Return the current value of this node.
This is called when a literal value is needed during query processing. This is implemented by subclasses.
%ToString
Method %ToString(Output pSC As %Status) As %String
Convert this node to its text representation.
%GetMemberProvider
Method %GetMemberProvider() As %DeepSee.Query.member
Return the member provider object associated with this node, if any.
%PreProcess
Method %PreProcess(pIsSlicer As %Boolean = 0) As %Status
Execute the pre-processing logic for this node. pIsSlicer is true if this node is part of the slicer (WHERE) clause.
%ProcessAxes
Method %ProcessAxes(pCube As %String, pKey As %String, ByRef pNodeNo As %Integer, Output pNewNodeNo As %Integer, pParent As %Integer, pVisible As %Boolean = 1) As %Status [ Internal ]
Execute and build the axes output for this node.
pCube and pKey identify the current query.
pNodeNo is used to track the next available node number in the axis graph.
pNewNodeNo is the (top-most) node created by this call.
pParent is the parent node to insert into.
If pVisible is false, then force children to not be visible.
%ProcessFilter
Method %ProcessFilter(ByRef pFilterTree As %List, pCube As %String, ByRef pNodeNo As %Integer, Output pNewNodeNo As %Integer, pParent As %Integer) As %Status [ Internal ]
Process this node within the context of the filter section of a query
pFilterTree is tree containing processed results.
pCube is the cube name.
pNodeNo is used to track the next available node number in the axis graph.
pNewNodeNo is the (top-most) node created by this call.
pParent is the parent node to insert into.
%CopyNode
ClassMethod %CopyNode(pCubeIndex As %String, pKey As %String, ByRef pNodeNo As %Integer, pTargetNode As %Integer, pSourceNode As %Integer, pHideParent As %Boolean = 0, pWrapType As %String = "", pWrapDepth As %Integer = {+$G(%SetOpDepth(pKey))}) As %Status [ Internal ]
Make a copy of node pSourceNode and add it to target node pTargetNode.
%DeleteNode
ClassMethod %DeleteNode(pCubeIndex As %String, pKey As %String, pAxisNode As %Integer, pNodeNo As %Integer) As %Status [ Internal ]
Delete the specified node and its children.
%HideNode
ClassMethod %HideNode(pCubeIndex As %String, pKey As %String, pAxisNode As %Integer, pNodeNo As %Integer, pShow As %Boolean = 0) As %Status [ Internal ]
Hide (or display if pShow is true) the specified node and its children by clearing their visible flags.
%ReduceNode
ClassMethod %ReduceNode(pCubeIndex As %String, pKey As %String, pNodeNo As %Integer) As %Status [ Internal ]
Reduce the given node within the node tree. This means replacing set(set) with set.