adriangb commented on PR #16791:
URL: https://github.com/apache/datafusion/pull/16791#issuecomment-3078342870

   > In particular I am not sure about the intended behavior when they are both 
present
   
   If you have an expression adapter you map the expression and the expression 
is now evaluated against the physical file schema. So there is no longer a need 
/ point of having a SchemaAdapter. It will still be there but it becomes a 
no-op because it's adapting between identical schemas.
   
   I'm sorry I did not give more detail in the PR description. The idea is that 
there are one of 4 scenarios that users will fall into:
   1. Custom SchemaAdapter, no custom PhysicalExprAdapter -> use SchemaAdapter 
/ old code path
   2. Default SchemaAdapter, no custom PhysicalExprAdapter -> use default 
PhysicalExprAdapter
   3. Custom SchemaAdapter, custom PhysicalExprAdapter -> use the custom 
PhysicalExprAdapter (making the SchemaAdapter a no-op for predicate pushdown).
   4. Default SchemaAdapter, custom PhysicalExprAdapter -> use custom 
PhysicalExprAdapter.
   
   This makes it completely backwards compatible: anyone using a custom 
SchemaAdapter has to make no code changes to continue using it. If they want to 
opt into the new mechanism they can either stop setting a custom SchemaAdapter 
or also set a custom PhysicalExprAdapter.
   
   A SchemaAdapter, custom or the default, is still used for projections.


-- 
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

Reply via email to