You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Amogh Margoor (JIRA)" <ji...@apache.org> on 2015/12/07 12:06:10 UTC
[jira] [Commented] (CALCITE-1003) Add Utility to convert RelNode to
SqlNode
[ https://issues.apache.org/jira/browse/CALCITE-1003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15044757#comment-15044757 ]
Amogh Margoor commented on CALCITE-1003:
----------------------------------------
Hi [~julianhyde]
I have raised PR for this issue: https://github.com/apache/calcite/pull/174/files
Current utility handles basic cases, but does not handle specialized Rel Nodes like EnumerableLimit, JdbcToEnumerable etc.
I think we can add more utilities that extend this basic utility (such as EnumerableToSql, JdbcRelToSql etc) and handle such specialized cases.
I can add them after this change gets in, if that is the right way to do it.
Thanks.
> Add Utility to convert RelNode to SqlNode
> -----------------------------------------
>
> Key: CALCITE-1003
> URL: https://issues.apache.org/jira/browse/CALCITE-1003
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Amogh Margoor
> Assignee: Julian Hyde
> Priority: Minor
> Fix For: next
>
>
> To track progress on Rel2Sql Converter.
> Following is the email conversation that lead to this JIRA:
> {quote}
> On Wed, Dec 2, 2015 at 3:13 AM, Julian Hyde <jh...@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:
> {code}
> @Test public void testScan() {
> final String sql = “select * from emp”;
> final String after = "SELECT *\n”
> + "FROM \”EMP\””;
> check(sql, after);
> }
> {code}
> 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 <am...@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
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)