drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arina Yelchiyeva <arina.yelchiy...@gmail.com>
Subject Re: hive translate function is not working from Drill
Date Mon, 29 Feb 2016 10:26:34 GMT
Though translate(expression USING identifier) is an SQL standard, translate
(expession, from_string, to_string) is widely used among other databases. I
guess it would be nice if we could allow alternative TRANSLATE syntax in
Drill.

Asked Calcite community last week if there is a way to complement Calcite
parse instructions for TRANSLATE function without Calcite code change. But
no reply so far.

Is it ok if I create Jira to keep track on this issue so at least it won't
be lost?

On Wed, Feb 24, 2016 at 11:52 PM Jinfeng Ni <jinfengni99@gmail.com> wrote:

> Checked standard SQL reference,  ISO/IEC 9075-2:2011(E), section 6.30
>
> <character transliteration> ::=
>   TRANSLATE <left paren> <character value expression>
> USING <transliteration name> <right paren>
>
> Looks like Calcite follows the standard SQL reference.
>
>
> On Wed, Feb 24, 2016 at 1:46 PM, Jinfeng Ni <jinfengni99@gmail.com> wrote:
> > Looks like Calcite, the SQL parser that Drill uses, treats translate
> > as a build-in function : translate( expression USING identifier).
> > That's why you saw the Parser error.
> >
> >
> > [1]
> https://github.com/apache/calcite/blob/master/core/src/main/codegen/templates/Parser.jj#L3987-L4005
> >
> > On Wed, Feb 24, 2016 at 1:23 PM, Arina Yelchiyeva
> > <arina.yelchiyeva@gmail.com> wrote:
> >> Hi all!
> >>
> >> Does all Hive functions work in Drill?
> >>
> >> I have faced the issue with translate function.
> >> In Hive "select translate(name, 'A', 'B') from users" works fine.
> >> But in Drill "select translate(name, 'A', 'B') from hive.`users`" return
> >> the following error:
> >>
> >> org.apache.drill.common.exceptions.UserRemoteException: PARSE ERROR:
> >> Encountered "," at line 1, column 22. Was expecting one of: "USING" ...
> >> "NOT" ... "IN" ... "BETWEEN" ... "LIKE" ... "SIMILAR" ... "=" ... ">"
> ...
> >> "<" ... "<=" ... ">=" ... "<>" ... "+" ... "-" ... "*" ... "/"
... "||"
> ...
> >> "AND" ... "OR" ... "IS" ... "MEMBER" ... "SUBMULTISET" ... "MULTISET"
> ...
> >> "[" ... "." ... "(" ... while parsing SQL query: select translate(name,
> >> 'A', 'B') from hive.users ^ [Error Id:
> ba21956b-3285-4544-b3b2-fab68b95be1f
> >> on localhost:31010]
> >>
> >> Am I missing something? Or I should create jira to fix for bug fix?
> >>
> >> Kind regards
> >> Arina
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message