Hi, I am using Calcite's RelBuilder to directly generate Calcite RelNodes from Flink Table API calls [1]. The translations works very well and was pretty straightforward to implement, however it looks like the RelBuilder does not thoroughly validate the generated expressions. It ensures that field expressions can be resolved, but does for example not check the types in expressions (for example it accepts a SUBSTRING(String, String, Float) expression).
I've seen that Calcite usually validates SQL queries before they are translated to RelNodes in the SQLNode representation. By calling the RelBuilder, I am bypassing these phases. I could implement the checks before calling the RelBuilder myself, but it would be easier if Calcite could validate the RelNodes and their expressions. Is this somehow possible? Thanks, Fabian [1] https://ci.apache.org/projects/flink/flink-docs-release-0.10/libs/table.html
