示例#1
0
        /// <summary>
        ///     Compute NodeInfo for a SingleRowOp.
        ///     Definitions = child's definitions
        ///     Keys = child's keys
        ///     Local Definitions = none
        ///     External references = child's external references
        ///     RowCount=(0,1)
        ///     NonNullabeDefinitions = NonNullabeDefinitions of the input RelOp
        ///     NonNullableInputDefinitions : default(empty) because cannot be used
        /// </summary>
        /// <param name="op"> The SingleRowOp </param>
        /// <param name="n"> current subtree </param>
        /// <returns> NodeInfo for this node </returns>
        public override NodeInfo Visit(SingleRowOp op, Node n)
        {
            var nodeInfo      = InitExtendedNodeInfo(n);
            var childNodeInfo = GetExtendedNodeInfo(n.Child0);

            nodeInfo.Definitions.InitFrom(childNodeInfo.Definitions);
            nodeInfo.Keys.InitFrom(childNodeInfo.Keys);
            nodeInfo.ExternalReferences.InitFrom(childNodeInfo.ExternalReferences);
            nodeInfo.NonNullableDefinitions.InitFrom(childNodeInfo.NonNullableDefinitions);
            nodeInfo.SetRowCount(RowCount.Zero, RowCount.One);
            return(nodeInfo);
        }
        public override NodeInfo Visit(SingleRowOp op, Node n)
        {
            ExtendedNodeInfo extendedNodeInfo1 = this.InitExtendedNodeInfo(n);
            ExtendedNodeInfo extendedNodeInfo2 = this.GetExtendedNodeInfo(n.Child0);

            extendedNodeInfo1.Definitions.InitFrom(extendedNodeInfo2.Definitions);
            extendedNodeInfo1.Keys.InitFrom(extendedNodeInfo2.Keys);
            extendedNodeInfo1.ExternalReferences.InitFrom(extendedNodeInfo2.ExternalReferences);
            extendedNodeInfo1.NonNullableDefinitions.InitFrom(extendedNodeInfo2.NonNullableDefinitions);
            extendedNodeInfo1.SetRowCount(RowCount.Zero, RowCount.One);
            return((NodeInfo)extendedNodeInfo1);
        }
示例#3
0
 public override Node Visit(SingleRowOp op, Node n)
 {
     return(CopyDefault(m_destCmd.CreateSingleRowOp(), n));
 }
 public virtual void Visit(SingleRowOp op, Node n)
 {
     this.VisitRelOpDefault((RelOp)op, n);
 }
示例#5
0
 public override void Visit(SingleRowOp op, Node n)
 {
     VisitRelOpDefault(op, n);
     AssertRelOpOrPhysicalOp(n.Child0.Op);
 }
示例#6
0
 /// <summary>
 ///     Visitor pattern method for SingleRowOp
 /// </summary>
 /// <param name="op"> The SingleRowOp being visited </param>
 /// <param name="n"> The Node that references the Op </param>
 public virtual void Visit(SingleRowOp op, Node n)
 {
     VisitRelOpDefault(op, n);
 }
示例#7
0
 // <summary>
 // Visitor pattern method for SingleRowOp
 // </summary>
 // <param name="op"> The SingleRowOp being visited </param>
 // <param name="n"> The Node that references the Op </param>
 public virtual TResultType Visit(SingleRowOp op, Node n)
 {
     return(VisitRelOpDefault(op, n));
 }