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); }
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)); }