Beispiel #1
0
 // <summary>
 // Default RelOp processing:
 // We really don't want to allow any NestOps through; just fail if we don't have
 // something coded.
 // </summary>
 protected override Node VisitRelOpDefault(RelOp op, Node n)
 {
     return NestingNotSupported(op, n);
 }
 protected virtual void VisitRelOpDefault(RelOp op, Node n)
 {
     VisitDefault(n);
 }
Beispiel #3
0
 protected override NodeInfo VisitRelOpDefault(RelOp op, Node n)
 {
     return(Unimplemented(n));
 }
        protected override Node VisitRelOpDefault(RelOp op, Node n)
        {
            VisitChildren(n); // visit all my children first

            // Then identify all the subqueries that have shown up as part of my node
            // Create Apply Nodes for each of these.
            List<Node> nestedSubqueries;
            if (m_nodeSubqueries.TryGetValue(n, out nestedSubqueries)
                && nestedSubqueries.Count > 0)
            {
                // Validate - this must only apply to the following nodes
                PlanCompiler.Assert(
                    n.Op.OpType == OpType.Project || n.Op.OpType == OpType.Filter ||
                    n.Op.OpType == OpType.GroupBy || n.Op.OpType == OpType.GroupByInto,
                    "VisitRelOpDefault: Unexpected op?" + n.Op.OpType);

                var newInputNode = AugmentWithSubqueries(n.Child0, nestedSubqueries, true);
                // Now make this the new input child
                n.Child0 = newInputNode;
            }

            return n;
        }
 protected override void VisitRelOpDefault(RelOp op, Node n)
 {
     VisitDefault(n);
 }
Beispiel #6
0
 /// <summary>
 ///     Default visitor for RelOps. Simply visits the children, and
 ///     then tries to recompute the NodeInfo (with the fond hope that
 ///     some keys have now shown up)
 /// </summary>
 protected override void VisitRelOpDefault(RelOp op, Node n)
 {
     VisitChildren(n);
     m_command.RecomputeNodeInfo(n);
 }
 protected virtual void VisitRelOpDefault(RelOp op, Node n)
 {
     this.VisitDefault(n);
 }
 protected override Node VisitRelOpDefault(RelOp op, Node n)
 {
     return null;
 }
Beispiel #9
0
 protected override void VisitRelOpDefault(RelOp op, Node n)
 {
     VisitDefault(n);
 }
Beispiel #10
0
 // <summary>
 // A default processor for all RelOps.
 // Allows new visitors to just override this to handle all RelOps
 // </summary>
 // <param name="op"> the RelOp </param>
 // <param name="n"> the node to process </param>
 // <returns> a potentially modified subtree </returns>
 protected virtual TResultType VisitRelOpDefault(RelOp op, Node n)
 {
     return(VisitDefault(n));
 }