My ultimate goal is to pushdown joins from Drill to a JDBC datasource. To do that, I wrote a converter rule to convert LogicalJoins <https://calcite.apache.org/apidocs/org/apache/calcite/rel/logical/LogicalJoin.html> to a custom descendant of the JdbcJoin <https://calcite.apache.org/apidocs/org/apache/calcite/adapter/jdbc/JdbcRules.JdbcJoin.html> class which worked fine so far.
Now I need to do the same for multi joins too but I believe 3 classes are missing. 1. A JdbcRel <https://calcite.apache.org/apidocs/org/apache/calcite/adapter/jdbc/JdbcRel.html> descendant (Not JdbcJoin <https://calcite.apache.org/apidocs/org/apache/calcite/adapter/jdbc/JdbcRules.JdbcJoin.html>, because it extends BiRel <https://calcite.apache.org/apidocs/org/apache/calcite/rel/BiRel.html> which wouldn't be valid because we are considering a node with more than two operands) for multijoins (Example: *JdbcMultiJoin*) 2. A SqlCall <https://calcite.apache.org/apidocs/org/apache/calcite/sql/SqlCall.html>\ SqlJoin <https://calcite.apache.org/apidocs/org/apache/calcite/sql/SqlJoin.html> descendant for multijoins (Example: *SqlMultiJoin*) to be created while implementing <https://calcite.apache.org/apidocs/org/apache/calcite/adapter/jdbc/JdbcRel.html#implement-org.apache.calcite.adapter.jdbc.JdbcImplementor-> the *JdbcMultiJoin* class. 3. A JDBC rule for converting MultiJoins <https://calcite.apache.org/apidocs/org/apache/calcite/rel/rules/MultiJoin.html> to the newly created *JdbcMultiJoin* Am I correct or is this already implemented somewhere ? *---------------------* *Muhammad Gelbana* http://www.linkedin.com/in/mgelbana
