internal SingleClause(QualifiedSlot leftSlot, MemberPath leftSlotOutputMember, QualifiedSlot rightSlot, MemberPath rightSlotOutputMember) { m_leftSlot = leftSlot; m_leftSlotOutputMember = leftSlotOutputMember; m_rightSlot = rightSlot; m_rightSlotOutputMember = rightSlotOutputMember; }
/// <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 QualifiedSlot 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) { SingleClause singleClause = new SingleClause(leftSlot, leftSlotOutputMember, rightSlot, rightSlotOutputMember); m_singleClauses.Add(singleClause); }