Beispiel #1
0
        protected override void VisitSortOp(SortBaseOp op, Node n)
        {
            using (new AutoXml(this, "keys")) {
                foreach (InternalTrees.SortKey sortKey in op.Keys)
                {
                    Dictionary <string, object> attrs = new Dictionary <string, object>();
                    attrs.Add("Var", sortKey.Var);
                    attrs.Add("Ascending", sortKey.AscendingSort);
                    attrs.Add("Collation", sortKey.Collation);

                    using (new AutoXml(this, "sortKey", attrs)) {
                    }
                }
            }
            VisitChildren(n);
        }
 protected override void VisitSortOp(SortBaseOp op, Node n)
 {
     VisitRelOpDefault(op, n);
     AssertRelOpOrPhysicalOp(n.Child0.Op);
 }
Beispiel #3
0
 protected override void VisitSortOp(SortBaseOp op, Node n)
 {
     VisitRelOpDefault(op, n);
     Map(op.Keys);
 }
Beispiel #4
0
 protected override void VisitSortOp(SortBaseOp op, Node n)
 {
     VisitRelOpDefault(op, n);
     AssertRelOpOrPhysicalOp(n.Child0.Op);
 }
        /// <summary>
        /// SortOp handling 
        /// 
        /// First, "request" that for any sort key that is a structured type, we 
        /// need all its properties. Then process any local definitions, and 
        /// finally the relop input
        /// </summary>
        /// <param name="op"></param>
        /// <param name="n"></param>
        protected override void VisitSortOp(SortBaseOp op, Node n)
        {
            // foreach sort key, every single bit of the Var is needed
            foreach (InternalTrees.SortKey sk in op.Keys)
                if (TypeUtils.IsStructuredType(sk.Var.Type))
                    AddPropertyRefs(sk.Var, PropertyRefList.All);

            // if the sort has any local definitions, process those first
            if (n.HasChild1)
                VisitNode(n.Child1);
            // then process the relop input
            VisitNode(n.Child0);
        }
 /// <summary>
 /// Default handler for all SortOps
 /// </summary>
 /// <param name="op">sort op</param>
 /// <param name="n"></param>
 protected virtual void VisitSortOp(SortBaseOp op, Node n)
 {
     VisitRelOpDefault(op, n);
 }