// <summary> // Creates new <see cref="ProjectedSlot" /> that is qualified with <paramref name="block" />.CqlAlias. // If current slot is composite (such as <see cref="CaseStatementProjectedSlot" />, then this method recursively qualifies all parts // and returns a new deeply qualified slot (as opposed to <see cref="CqlBlock.QualifySlotWithBlockAlias" />). // </summary> internal override ProjectedSlot DeepQualify(CqlBlock block) { // We take the slot inside this and change the block var result = new QualifiedSlot(block, m_slot); return(result); }
/// <summary> /// Adds an <see cref="SingleClause" /> element for a join of the form <paramref name="leftSlot" /> = /// <paramref /// name="rightSlot" /> /// . /// </summary> internal void Add( QualifiedSlot leftSlot, MemberPath leftSlotOutputMember, QualifiedSlot rightSlot, MemberPath rightSlotOutputMember) { var singleClause = new SingleClause(leftSlot, leftSlotOutputMember, rightSlot, rightSlotOutputMember); m_singleClauses.Add(singleClause); }
internal SingleClause( QualifiedSlot leftSlot, MemberPath leftSlotOutputMember, QualifiedSlot rightSlot, MemberPath rightSlotOutputMember) { m_leftSlot = leftSlot; m_leftSlotOutputMember = leftSlotOutputMember; m_rightSlot = rightSlot; m_rightSlotOutputMember = rightSlotOutputMember; }
internal void Add( QualifiedSlot leftSlot, MemberPath leftSlotOutputMember, QualifiedSlot rightSlot, MemberPath rightSlotOutputMember) { this.m_singleClauses.Add(new JoinCqlBlock.OnClause.SingleClause(leftSlot, leftSlotOutputMember, rightSlot, rightSlotOutputMember)); }
internal ProjectedSlot GetOriginalSlot() { ProjectedSlot slot = this.m_slot; while (true) { QualifiedSlot qualifiedSlot = slot as QualifiedSlot; if (qualifiedSlot != null) { slot = qualifiedSlot.m_slot; } else { break; } } return(slot); }
internal SingleClause( QualifiedSlot leftSlot, MemberPath leftSlotOutputMember, QualifiedSlot rightSlot, MemberPath rightSlotOutputMember) { m_leftSlot = leftSlot; m_leftSlotOutputMember = leftSlotOutputMember; m_rightSlot = rightSlot; m_rightSlotOutputMember = rightSlotOutputMember; }
/// <summary> /// Adds an <see cref="SingleClause" /> element for a join of the form <paramref name="leftSlot" /> = /// <paramref /// name="rightSlot" /> /// . /// </summary> internal void Add( QualifiedSlot leftSlot, MemberPath leftSlotOutputMember, QualifiedSlot rightSlot, MemberPath rightSlotOutputMember) { var singleClause = new SingleClause(leftSlot, leftSlotOutputMember, rightSlot, rightSlotOutputMember); m_singleClauses.Add(singleClause); }
// <summary> // Creates new <see cref="ProjectedSlot" /> that is qualified with <paramref name="block" />.CqlAlias. // If current slot is composite (such as <see cref="CaseStatementProjectedSlot" />, then this method recursively qualifies all parts // and returns a new deeply qualified slot (as opposed to <see cref="CqlBlock.QualifySlotWithBlockAlias" />). // </summary> internal override ProjectedSlot DeepQualify(CqlBlock block) { // We take the slot inside this and change the block var result = new QualifiedSlot(block, m_slot); return result; }