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 <[email protected]> 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 <[email protected]> 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 > > <[email protected]> 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 >
