Exemple #1
0
		private AlgebraNode MergeWithComputeScalar(ComputeScalarAlgebraNode node)
		{
			ComputeScalarAlgebraNode inputNode = (ComputeScalarAlgebraNode) node.Input;
			node.Input = inputNode.Input;
			node.DefinedValues = ArrayHelpers.JoinArrays(node.DefinedValues, inputNode.DefinedValues);

			RowBufferEntryReplacer rowBufferEntryReplacer = new RowBufferEntryReplacer(inputNode.DefinedValues);
			foreach (ComputedValueDefinition definedValue in node.DefinedValues)
				definedValue.Expression = rowBufferEntryReplacer.VisitExpression(definedValue.Expression);

			return VisitAlgebraNode(node);
		}
Exemple #2
0
        private AlgebraNode MergeWithComputeScalar(ComputeScalarAlgebraNode node)
        {
            ComputeScalarAlgebraNode inputNode = (ComputeScalarAlgebraNode)node.Input;

            node.Input         = inputNode.Input;
            node.DefinedValues = ArrayHelpers.JoinArrays(node.DefinedValues, inputNode.DefinedValues);

            RowBufferEntryReplacer rowBufferEntryReplacer = new RowBufferEntryReplacer(inputNode.DefinedValues);

            foreach (ComputedValueDefinition definedValue in node.DefinedValues)
            {
                definedValue.Expression = rowBufferEntryReplacer.VisitExpression(definedValue.Expression);
            }

            return(VisitAlgebraNode(node));
        }