Beispiel #1
0
        // <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);
        }
Beispiel #2
0
            /// <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);
            }
Beispiel #3
0
 internal SingleClause(
     QualifiedSlot leftSlot, MemberPath leftSlotOutputMember, QualifiedSlot rightSlot, MemberPath rightSlotOutputMember)
 {
     m_leftSlot              = leftSlot;
     m_leftSlotOutputMember  = leftSlotOutputMember;
     m_rightSlot             = rightSlot;
     m_rightSlotOutputMember = rightSlotOutputMember;
 }
Beispiel #4
0
 internal void Add(
     QualifiedSlot leftSlot,
     MemberPath leftSlotOutputMember,
     QualifiedSlot rightSlot,
     MemberPath rightSlotOutputMember)
 {
     this.m_singleClauses.Add(new JoinCqlBlock.OnClause.SingleClause(leftSlot, leftSlotOutputMember, rightSlot, rightSlotOutputMember));
 }
Beispiel #5
0
        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;
 }