Exemplo n.º 1
0
        // <summary>
        // Copies a ScanViewOp
        // </summary>
        // <param name="op"> The Op to Copy </param>
        // <param name="n"> The Node that references the Op </param>
        // <returns> A copy of the original Node that references a copy of the original Op </returns>
        public override Node Visit(ScanViewOp op, Node n)
        {
            // First create a new ScanViewOp based on the metadata of the existing Op
            var newScan = m_destCmd.CreateScanViewOp(op.Table.TableMetadata);

            // Map the corresponding tables/columns
            MapTable(newScan.Table, op.Table);

            // Create the new node
            Debug.Assert(n.HasChild0);
            var children = ProcessChildren(n);

            return(m_destCmd.CreateNode(newScan, children));
        }