Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-1003

Add Utility to convert RelNode to SqlNode



    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.6.0
    • core
    • None


      To track progress on Rel2Sql Converter.
      Following is the email conversation that lead to this JIRA:

      On Wed, Dec 2, 2015 at 3:13 AM, Julian Hyde <jhyde@apache.org> wrote:

      Yes, this would definitely be useful in Calcite. Thanks for offering.

      I would like to reduce the amount of code copy-pasted from the JdbcXxx relational expressions, but we can work on that after it is committed in and when there are some unit tests.

      Can you please create a JIRA case with an initial pull-request?

      I think the unit tests could be of the following form:

            @Test public void testScan() {
              final String sql = “select * from emp”;
              final String after = "SELECT *\n”
                  + "FROM \”EMP\””;
              check(sql, after);

      where “after” is the result of the round trip SQL => SqlNode => RelNode => SqlNode => SQL, and your utility is performing the 3rd “=>”.


      > On Dec 1, 2015, at 12:28 AM, Amogh Margoor <amoghm@qubole.com> wrote:
      > Hi,
      > We have an usecase where we need to just send back optimized query as SQL,
      > without executing it. So we needed an utility to convert RelNode back to
      > SQL, and found most of the logic to be in JDBCRel. As we needed it for non
      > JDBC source, we created an utility to do so:
      > https://github.com/amoghmargoor/incubator-calcite/blob/NEZ-52/core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java
      > Utility is almost completely copy-pasted from JDBCRels with few fixes from
      > our side to make it work. If such utility will be useful in Calcite then
      > let us know, we can plan raising PRs with required UTs.
      > Regards,
      > Amogh


        Issue Links



              julianhyde Julian Hyde
              amargoor Amogh Margoor
              0 Vote for this issue
              2 Start watching this issue