public override AlgebraNode VisitFilterAlgebraNode(FilterAlgebraNode node) { FilterIterator filterIterator = new FilterIterator(); filterIterator.RowBuffer = new object[node.OutputList.Length]; filterIterator.Input = ConvertAlgebraNode(node.Input); filterIterator.InputOutput = GetIteratorOutput(0, node.Input.OutputList, node.OutputList); BoundRowBufferEntrySet boundRowBufferEntrySet = new BoundRowBufferEntrySet(filterIterator.Input.RowBuffer, node.Input.OutputList); filterIterator.Predicate = CreateRuntimeExpression(node.Predicate, boundRowBufferEntrySet); SetLastIterator(node, filterIterator); return(node); }
public override AlgebraNode VisitFilterAlgebraNode(FilterAlgebraNode node) { FilterIterator filterIterator = new FilterIterator(); filterIterator.RowBuffer = new object[node.OutputList.Length]; filterIterator.Input = ConvertAlgebraNode(node.Input); filterIterator.InputOutput = GetIteratorOutput(0, node.Input.OutputList, node.OutputList); BoundRowBufferEntrySet boundRowBufferEntrySet = new BoundRowBufferEntrySet(filterIterator.Input.RowBuffer, node.Input.OutputList); filterIterator.Predicate = CreateRuntimeExpression(node.Predicate, boundRowBufferEntrySet); SetLastIterator(node, filterIterator); return node; }