Ejemplo n.º 1
0
        internal virtual PhysicalProjectOp CreatePhysicalProjectOp(Var outputVar)
        {
            VarList varList = Command.CreateVarList();

            varList.Add(outputVar);
            VarRefColumnMap           varRefColumnMap = new VarRefColumnMap(outputVar);
            SimpleCollectionColumnMap columnMap       = new SimpleCollectionColumnMap(TypeUtils.CreateCollectionType(varRefColumnMap.Type), (string)null, (ColumnMap)varRefColumnMap, new SimpleColumnMap[0], new SimpleColumnMap[0]);

            return(this.CreatePhysicalProjectOp(varList, columnMap));
        }
Ejemplo n.º 2
0
        // <summary>
        // Make a copy of the current node. Also return an ordered list of the new
        // Vars corresponding to the vars in "varList"
        // </summary>
        // <param name="cmd"> current command </param>
        // <param name="node"> the node to clone </param>
        // <param name="varList"> list of Vars </param>
        // <param name="newVarList"> list of "new" Vars </param>
        // <returns> the cloned node </returns>
        internal static Node Copy(Command cmd, Node node, VarList varList, out VarList newVarList)
        {
            VarMap varMap;
            var    newNode = Copy(cmd, node, out varMap);

            newVarList = Command.CreateVarList();
            foreach (var v in varList)
            {
                var newVar = varMap[v];
                newVarList.Add(newVar);
            }
            return(newNode);
        }
        internal static Node Copy(Command cmd, Node node, VarList varList, out VarList newVarList)
        {
            VarMap varMap;
            Node   node1 = OpCopier.Copy(cmd, node, out varMap);

            newVarList = Command.CreateVarList();
            foreach (Var var1 in (List <Var>)varList)
            {
                Var var2 = varMap[var1];
                newVarList.Add(var2);
            }
            return(node1);
        }