devinjdangelo commented on issue #8661:
URL: 
https://github.com/apache/arrow-datafusion/issues/8661#issuecomment-1871498434

   I looked into this myself recently and also concluded that DataFusion has no 
way currently to recover the SQL strings that generated a LogicalPlan or parts 
of it (Exprs). Likewise, I don't think sqlparser-rs has any mechanism to go 
from AST back to raw SQL. Either case would be non trivial to implement, and 
raises the question of what SQL dialect you want to support.
   
   I'm not sure what your use case is @tempbottle, but in my case I am looking 
at implementing TableProviders over top of other engines which accept SQL. For 
this use case, it may be more fruitful to look at https://substrait.io/. 
DataFusion does have the capability to convert a LogicalPlan to a Substrait 
plan. If the engine of interest does not consume Substrait, you are probably 
stuck writing custom glue code to map a LogicalPlan or Exprs into whatever SQL 
dialect or DSL that the target engine supports.
   
   I'll also point out that GlareDb has some examples of mapping Exprs to SQL 
strings for the purposes of implementing a TableProvider. See e.g. 
https://github.com/GlareDB/glaredb/blob/ee4b440d9a594150926ce0a5fd96db400185c881/crates/datasources/src/postgres/mod.rs#L1242


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to