Thank you for your response! We have integrated support for a few TPCH queries with Substrait, and have a few follow-up questions:
1. It looks like the plans are unoptimized. Say for
TPCH14 where there's a join condition specified in the WHERE clause, the substrait plans seem to represent it in the same way specified in the input query, without specifying that the other WHERE conditions should be executed
before the JOIN to accelerate query execution. The `join` key in the json also seems to be serving as input to the filter, and executed a join before filters is usually an unoptimal choice. Has Calcite been used in generating these plans, and are there any improvements that can be done in terms of the execution order represented in the plans?
2. The Substrait plans look like logical plans & not physical plans. I.e. the plans say that there needs to be, say, an inner join (TPCH 14 example again), but the plan doesn't point to a particular join implementation that should be used or may be optimal for that query (leading to us arbitrarily picking a join implementation which may not be the most optimal choice, and arbitrarily picking an implementation may not be ideal as we work on expanding support). Depending on the query, particular implementations of operators like join may be more optimal to execute. Are there any plans to also represent a physical execution plan into Substrait?
3. Sorry I haven't been following some of the other Substrait conversations; are there any updates with the decimal glitch in Isthmus? If there're GitHub issues, Google Group / Slack conversations etc around these, it'll be great if you could route me to those.
Looking forward to your responses, thank you very much!