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
>> 
>> 

Reply via email to