%DeepSee.Query.memberRelationship
Class %DeepSee.Query.memberRelationship Extends %DeepSee.Query.member [ System = 3 ]
Specialized version of the member provider class used for relationships.
This providers delagates the job of providing information to the related cube by generating queries against it.
Properties
%relationship
Property %relationship As %DeepSee.Datatype.entityName;
Name of this relationship.
%remoteSpec
Property %remoteSpec As %String(MAXLEN = 30000);
Member spec to apply against the related cube.
%relatedCube
Property %relatedCube As %DeepSee.Datatype.entityName;
Name of cube the relationship refers to.
%cardinality
Property %cardinality As %String;
Cardinality of the relationship.
%inverse
Property %inverse As %DeepSee.Datatype.entityName;
Inverse of the relationship.
%isNullRelation
Property %isNullRelation As %Boolean [ InitialExpression = 0 ];
True if this is the No Relation member.
%isStoredSide
Property %isStoredSide As %Boolean [ InitialExpression = 0 ];
Is this the stored side of the relationship?
%ORList
Property %ORList As %String [ MultiDimensional ];
Used to hold additional values for %OR references
%relationshipDepth
Property %relationshipDepth As %Boolean [ InitialExpression = 0 ];
Depth (number of hops) of the relationship.
%deepCubes
Property %deepCubes As %List;
List of additional related cubes more than one level away.
Methods
%ApplyRelationInfo
Method %ApplyRelationInfo(ByRef pSpec, pRelatedCube As %String, pCardinality As %String, pInverse As %String, pIsStored As %Boolean, ByRef pMemberKey) As %Status
Apply relationship information to this provider.
pSpec is an array of the tokens that make up the member specification.
%MergeOR
Method %MergeOR(pMember2 As memberRelationship) As %Status
Combine the given member object into this one. This is used to combine %OR(members) into one statement.
%ProcessMembers
Method %ProcessMembers(pParent As %Integer, Output pSet As %List) As %Status
Process the member name and key information for this tuple. Put the result into pSet.
%GetFiltersForRelationship
Method %GetFiltersForRelationship(Output pFilters As %String, pGroup As %DeepSee.Query.node, pLevel As %Integer = 0, ByRef pOmitted) As %Status [ Internal ]
Compute the filters to tack onto a relationship subquery.
%GetSpecForMember
Method %GetSpecForMember(pMember As %DeepSee.Query.memberRelationship) As %String [ Internal ]
Utility method. Return a spec for the given member.