Created CALCITE-2188 <https://issues.apache.org/jira/browse/CALCITE-2188>

On Wed, Feb 21, 2018 at 4:43 AM, Julian Hyde <[email protected]> wrote:

> Please log that JIRA case and create a pull request, then we can discuss
> there.
>
> It is possible that Calcite and MySQL have slightly different dialects of
> SQL. SqlParserTest tests Calcite’s dialect. So maybe you need to change how
> interval literals are unparsed for MySQL’s dialect only.
>
> Julian
>
>
> > On Feb 19, 2018, at 9:25 PM, Rahul Raj <[email protected]> wrote:
> >
> > I have a got a fix ready, the issues was due to a missed implementation
> of
> > 'unparse' on Sql Datetime addition. .
> >
> > I have a question related to the precision of INTERVAL. The precision 2
> on
> > "INTERVAL '99' YEAR(2)" is not accepted by MySQL and gets pushed causing
> an
> > error.  Removing the precision during unparse causes tests in
> > SqlParserTest#subTestIntercalYearPositive to fail. What to be done here?
> >
> > Queries work fine on MySql without the precision part.
> >
> > Regards,
> > Rahul
> >
> > On Fri, Feb 16, 2018 at 11:33 PM, Julian Hyde <[email protected]> wrote:
> >
> >> Sure, please log a JIRA case. And develop a fix, if you are able to.
> >>
> >>> On Feb 16, 2018, at 4:11 AM, Rahul Raj <[email protected]> wrote:
> >>>
> >>> I tested it on Drill 1.13 branch having the latest calcite changes
> merged
> >>> in. It throws an unsupported operation exception, should I raise a
> >> Calcite
> >>> ticked on this?
> >>>
> >>> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR:
> >>> UnsupportedOperationException: class org.apache.calcite.sql.
> SqlSyntax$6:
> >>> SPECIAL
> >>>
> >>> Caused by: java.lang.UnsupportedOperationException: class
> >>> org.apache.calcite.sql.SqlSyntax$6: SPECIAL
> >>>   at org.apache.calcite.util.Util.needToImplement(Util.java:925)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlSyntax$6.unparse(SqlSyntax.java:116)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlOperator.unparse(SqlOperator.java:332)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlDialect.unparseCall(
> SqlDialect.java:332)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at
> >>> org.apache.calcite.sql.dialect.MysqlSqlDialect.
> >> unparseCall(MysqlSqlDialect.java:154)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlCall.unparse(SqlCall.java:103)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlUtil.unparseBinarySyntax(
> >> SqlUtil.java:323)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlSyntax$3.unparse(SqlSyntax.java:65)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlOperator.unparse(SqlOperator.java:332)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlDialect.unparseCall(
> SqlDialect.java:332)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at
> >>> org.apache.calcite.sql.dialect.MysqlSqlDialect.
> >> unparseCall(MysqlSqlDialect.java:154)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlCall.unparse(SqlCall.java:103)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlNodeList.andOrList(
> SqlNodeList.java:142)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at
> >>> org.apache.calcite.sql.SqlOperator.unparseListClause(
> >> SqlOperator.java:347)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at
> >>> org.apache.calcite.sql.SqlSelectOperator.unparse(
> >> SqlSelectOperator.java:197)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlSelect.unparse(SqlSelect.java:240)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlNode.toSqlString(SqlNode.java:152)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.calcite.sql.SqlNode.toSqlString(SqlNode.java:158)
> >>> ~[calcite-core-1.15.0-drill-r0.jar:1.15.0-drill-r0]
> >>>   at org.apache.drill.exec.store.jdbc.JdbcPrel.<init>(JdbcPrel.
> java:65)
> >>> ~[drill-jdbc-storage-1.13.0-SNAPSHOT.jar:1.13.0-SNAPSHOT]
> >>>
> >>> Regards,
> >>> Rahul
> >>>
> >>> On Tue, Dec 12, 2017 at 8:21 AM, Julian Hyde <[email protected]> wrote:
> >>>
> >>>> I’ve added a comment to the JIRA case. Its a Calcite issue and it
> >>>> shouldn’t be too hard to develop a fix.
> >>>>
> >>>>> On Dec 7, 2017, at 11:11 PM, Rahul Raj <[email protected]> wrote:
> >>>>>
> >>>>> Hi All,
> >>>>>
> >>>>> This is an issue related to Apache Drill and need some help to debug
> >> the
> >>>>> problem.
> >>>>>
> >>>>> Drill supports a feature to query a database directly. When querying
> a
> >>>>> database directly, Drill throws an exception while manipulating a
> date
> >>>>> field inside the 'where' clause as shown in the query below:
> >>>>>
> >>>>> select * from config_1.APP.EXECUTIONSTEP
> >>>>> where DATE_ADD(CAST(STARTED_AT as DATE),interval '1' second) <
> >>>>> CAST(CURRENT_DATE as DATE)
> >>>>>
> >>>>> I could see a calcite exception in the trace:
> >>>>> Caused by: java.lang.AssertionError: 1000: INTERVAL_DAY_TIME
> >>>>> at
> >>>>> org.apache.calcite.adapter.jdbc.JdbcImplementor$Context.
> >>>> toSql(JdbcImplementor.java:179)
> >>>>> ~[calcite-core-1.4.0-drill-r19.jar:1.4.0-drill-r19]
> >>>>>
> >>>>> I have raised the issue and details at
> >>>>> https://issues.apache.org/jira/browse/DRILL-5578.
> >>>>>
> >>>>> The issue does not happen when querying parquet files.
> >>>>>
> >>>>> Regards,
> >>>>> Rahul
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> <a href="http://www.spreadfirefox.com/?q=affiliates&id=0&t=1
> "><textarea
> >>> rows="3" cols="40"><a href="
> >>> http://www.spreadfirefox.com/?q=affiliates&id=0&t=1";>Get Firefox!</a>
> >>
> >>
> >
> >
> > --
> > <a href="http://www.spreadfirefox.com/?q=affiliates&id=0&t=1";><textarea
> > rows="3" cols="40"><a href="
> > http://www.spreadfirefox.com/?q=affiliates&id=0&t=1";>Get Firefox!</a>
>
>


-- 
<a href="http://www.spreadfirefox.com/?q=affiliates&id=0&t=1";><textarea
rows="3" cols="40"><a href="
http://www.spreadfirefox.com/?q=affiliates&id=0&t=1";>Get Firefox!</a>

Reply via email to