phillipleblanc opened a new issue, #10795:
URL: https://github.com/apache/datafusion/issues/10795
### Is your feature request related to a problem or challenge?
Part of #9494 to complete support for Unparsing LogicalPlan to SQL String.
Converting LogicalPlans back to SQL is valuable for several usecases such as
using DataFusion in federated databases (e.g. generate SQL to push down) or
using DataFusion's expr APIs to programmatically create SQL.
### Describe the solution you'd like
Support converting SQL syntax that includes predicates with scalar values,
like the following TPCH query:
```sql
select
o_orderpriority,
count(*) as order_count
from
orders
where
o_orderdate >= '1993-07-01'
and o_orderdate < date '1993-07-01' + interval '3' month
and exists (
select
*
from
lineitem
where
l_orderkey = o_orderkey
and l_commitdate < l_receiptdate
)
group by
o_orderpriority
order by
o_orderpriority;
```
The logical plan derived from parsing the above query should be able to be
turned back into SQL.
### Describe alternatives you've considered
The basic pattern is:
Implement the Expr --> AST reverse code in Unparser::expr_to_sql([source
link](https://github.com/apache/datafusion/blob/16346022ed4564211c0fb4bf20ac165f2c481a90/datafusion/sql/src/unparser/expr.rs#L93-L94))
Add a test to
[expr_to_sql_ok](https://github.com/apache/datafusion/blob/16346022ed4564211c0fb4bf20ac165f2c481a90/datafusion/sql/src/unparser/expr.rs#L912-L913)
Note you can run the tests like
```
cargo test -p datafusion-sql -- expr_to_sql_ok
```
### Additional context
_No response_
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]