Dandandan commented on PR #15770: URL: https://github.com/apache/datafusion/pull/15770#issuecomment-2816688267
> @Dandandan I believe with this setup we should be able to achieve with a couple LOC in `insert_batch`: > > ```rust > // Apply the filter to the batch before processing > let filter = Arc::clone(&self.filter) as Arc<dyn PhysicalExpr>; > let batch = filter_and_project(&batch, &filter, None, batch.schema_ref())?; > if batch.num_rows() == 0 { > return Ok(()); > } > ``` > > (`filter_and_project` is from `FilterExec`, we just need to make it `pub(crate)`) Hmm. But I think > @Dandandan I believe with this setup we should be able to achieve with a couple LOC in `insert_batch`: > > ```rust > // Apply the filter to the batch before processing > let filter = Arc::clone(&self.filter) as Arc<dyn PhysicalExpr>; > let batch = filter_and_project(&batch, &filter, None, batch.schema_ref())?; > if batch.num_rows() == 0 { > return Ok(()); > } > ``` > > (`filter_and_project` is from `FilterExec`, we just need to make it `pub(crate)`) I think we probably want to avoid filtering the entire batch, but indeed, if the filter expression is available it will be only a couple LOC! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org