Can someone from the Drill team please review https://issues.apache.org/jira/browse/CALCITE-1003?
I know you guys have a JDBC adapter. And of course Calcite has a JDBC adapter. And now this code that converts RelNodes (not necessarily in the JDBC adapter) to SQL. I don’t want to have the same logic in 3 different places. Where is the right place for it to live? If we do it right, all of us will be able to spend less time maintaining SQL-generation for obscure databases and more time doing fun stuff. :) Julian > On Dec 2, 2015, at 10:59 PM, Amogh Margoor <[email protected]> wrote: > > Thanks Julian for your quick response and suggestions. I raised this JIRA > to track this: https://issues.apache.org/jira/browse/CALCITE-1003. > Will soon raise a PR with UTs in suggested format. > > Regards, > Amogh > > > On Wed, Dec 2, 2015 at 3:13 AM, Julian Hyde <[email protected]> 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 “->”. >> >> Julian >> >>> On Dec 1, 2015, at 12:28 AM, Amogh Margoor <[email protected]> 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 >> >>
