Skip to main content

%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.