drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-3510) Add ANSI_QUOTES option so that Drill's SQL Parser will recognize ANSI_SQL identifiers
Date Thu, 07 Jul 2016 21:40:11 GMT

    [ https://issues.apache.org/jira/browse/DRILL-3510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15366825#comment-15366825
] 

ASF GitHub Bot commented on DRILL-3510:
---------------------------------------

Github user jinfengni commented on a diff in the pull request:

    https://github.com/apache/drill/pull/520#discussion_r69992451
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/SqlConverter.java
---
    @@ -139,6 +151,24 @@ public SqlNode parse(String sql) {
           SqlParser parser = SqlParser.create(sql, parserConfig);
           return parser.parseStmt();
         } catch (SqlParseException e) {
    +
    +      // Attempt to use default back_tick quote character for identifiers when
    --- End diff --
    
    Why would you switch to back_tick quoting, even when option ANSI_QUOTES is on? Why would
you want to try with a configuration different from option set by user?
    
    also, sql.contains("`") may not work, if the sql string contains ` as a character in a
string literal. I could not see how this block of code will work for such case. 



> Add ANSI_QUOTES option so that Drill's SQL Parser will recognize ANSI_SQL identifiers

> --------------------------------------------------------------------------------------
>
>                 Key: DRILL-3510
>                 URL: https://issues.apache.org/jira/browse/DRILL-3510
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: SQL Parser
>            Reporter: Jinfeng Ni
>            Assignee: Vitalii Diravka
>             Fix For: Future
>
>         Attachments: DRILL-3510.patch, DRILL-3510.patch
>
>
> Currently Drill's SQL parser uses backtick as identifier quotes, the same as what MySQL
does. However, this is different from ANSI SQL specification, where double quote is used as
identifier quotes.  
> MySQL has an option "ANSI_QUOTES", which could be switched on/off by user. Drill should
follow the same way, so that Drill users do not have to rewrite their existing queries, if
their queries use double quotes. 
> {code}
> SET sql_mode='ANSI_QUOTES';
> {code}
>    



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message