You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Davran Muzafarov <da...@streamingedge.com> on 2016/08/30 19:49:06 UTC

"select as" in Flink SQL

I am try to execute simple sql like this:

 

DataSet<MarketDataInfo> dataSet0 = env.fromCollection( infos0 );

tableEnv.registerDataSet( "table0", dataSet0 );

 

 

Table table = tableEnv.sql( "select assetClass as \"asset class\" from
tabel0" );

 

I am getting:

 

org.apache.calcite.sql.parser.SqlParseException: Encountered "as \"" at line
1, column 19.

Was expecting one of:

    "FROM" ...

    "," ...

    "AS" <IDENTIFIER> ...

    "AS" <QUOTED_IDENTIFIER> ...

    "AS" <BACK_QUOTED_IDENTIFIER> ...

    "AS" <BRACKET_QUOTED_IDENTIFIER> ...

    "AS" <UNICODE_QUOTED_IDENTIFIER> ...

    "." ...

    "(" ...

    "NOT" ...

    "IN" ...

    "BETWEEN" ...

    "LIKE" ...

    "SIMILAR" ...

    "=" ...

    ">" ...

    "<" ...

    "<=" ...

    ">=" ...

    "<>" ...

    "+" ...

    "-" ...

    "*" ...

    "/" ...

    "||" ...

    "AND" ...

    "OR" ...

    "IS" ...

    "MEMBER" ...

    "SUBMULTISET" ...

    "MULTISET" ...

    "[" ...

    

        at
org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserI
mpl.java:388)

        at
org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParse
rImpl.java:119)

        at
org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:131)

        at
org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:156)

        at
org.apache.flink.api.table.FlinkPlannerImpl.parse(FlinkPlannerImpl.scala:75)

        .

 

If I use [ insteand of ", I am getting:

org.apache.calcite.sql.parser.SqlParseException: Encountered "as [" at line
1, column 19.
Was expecting one of:
    "FROM" ...
    "," ...
    "AS" <IDENTIFIER> ...
    "AS" <QUOTED_IDENTIFIER> ...
    "AS" <BACK_QUOTED_IDENTIFIER> ...
    "AS" <BRACKET_QUOTED_IDENTIFIER> ...
    "AS" <UNICODE_QUOTED_IDENTIFIER> ...
    "." ...
    "(" ...
    "NOT" ...
    "IN" ...
    "BETWEEN" ...
    "LIKE" ...
    "SIMILAR" ...
    "=" ...
    ">" ...
    "<" ...
    "<=" ...
    ">=" ...
    "<>" ...
    "+" ...
    "-" ...
    "*" ...
    "/" ...
    "||" ...
    "AND" ...
    "OR" ...
    "IS" ...
    "MEMBER" ...
    "SUBMULTISET" ...
    "MULTISET" ...
    "[" ...
    
        at
org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserI
mpl.java:388)
        at
org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParse
rImpl.java:119)
        at
org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:131)
        at
org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:156)
        at
org.apache.flink.api.table.FlinkPlannerImpl.parse(FlinkPlannerImpl.scala:75)
        at
org.apache.flink.api.table.BatchTableEnvironment.sql(BatchTableEnvironment.s
cala:128)

        .

 

How would I use aliases which contain space(s)? 

 

Thank you,

Davran.

 

 

 

 

 

 

 

 

 


RE: "select as" in Flink SQL

Posted by Davran Muzafarov <da...@streamingedge.com>.
Thank you Timo.

 

From: Timo Walther [mailto:twalthr@apache.org] 
Sent: Wednesday, August 31, 2016 4:28 AM
To: user@flink.apache.org
Subject: Re: "select as" in Flink SQL

 

Hi Davran,

Flink SQL uses a lexical policy similar to Java:
The case of identifiers is preserved whether or not they are quoted; after
which, identifiers are matched case-sensitively. Unlike Java, back-ticks
allow identifiers to contain non-alphanumeric characters.

So "select assetClass as `asset class` from tabel0" should do the trick.

I will improve the documentation about this.

Regards,
Timo

Am 30/08/16 um 21:49 schrieb Davran Muzafarov:

I am try to execute simple sql like this:

 

DataSet<MarketDataInfo> dataSet0 = env.fromCollection( infos0 );

tableEnv.registerDataSet( "table0", dataSet0 );

 

 

Table table = tableEnv.sql( "select assetClass as \”asset class\” from
tabel0" );

 

I am getting:

 

org.apache.calcite.sql.parser.SqlParseException: Encountered "as \"" at line
1, column 19.

Was expecting one of:

    "FROM" ...

    "," ...

    "AS" <IDENTIFIER> ...

    "AS" <QUOTED_IDENTIFIER> ...

    "AS" <BACK_QUOTED_IDENTIFIER> ...

    "AS" <BRACKET_QUOTED_IDENTIFIER> ...

    "AS" <UNICODE_QUOTED_IDENTIFIER> ...

    "." ...

    "(" ...

    "NOT" ...

    "IN" ...

    "BETWEEN" ...

    "LIKE" ...

    "SIMILAR" ...

    "=" ...

    ">" ...

    "<" ...

    "<=" ...

    ">=" ...

    "<>" ...

    "+" ...

    "-" ...

    "*" ...

    "/" ...

    "||" ...

    "AND" ...

    "OR" ...

    "IS" ...

    "MEMBER" ...

    "SUBMULTISET" ...

    "MULTISET" ...

    "[" ...

    

        at
org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserI
mpl.java:388)

        at
org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParse
rImpl.java:119)

        at
org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:131)

        at
org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:156)

        at
org.apache.flink.api.table.FlinkPlannerImpl.parse(FlinkPlannerImpl.scala:75)

        …

 

If I use [ insteand of “, I am getting:

org.apache.calcite.sql.parser.SqlParseException: Encountered "as [" at line
1, column 19.
Was expecting one of:
    "FROM" ...
    "," ...
    "AS" <IDENTIFIER> ...
    "AS" <QUOTED_IDENTIFIER> ...
    "AS" <BACK_QUOTED_IDENTIFIER> ...
    "AS" <BRACKET_QUOTED_IDENTIFIER> ...
    "AS" <UNICODE_QUOTED_IDENTIFIER> ...
    "." ...
    "(" ...
    "NOT" ...
    "IN" ...
    "BETWEEN" ...
    "LIKE" ...
    "SIMILAR" ...
    "=" ...
    ">" ...
    "<" ...
    "<=" ...
    ">=" ...
    "<>" ...
    "+" ...
    "-" ...
    "*" ...
    "/" ...
    "||" ...
    "AND" ...
    "OR" ...
    "IS" ...
    "MEMBER" ...
    "SUBMULTISET" ...
    "MULTISET" ...
    "[" ...
    
        at
org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserI
mpl.java:388)
        at
org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParse
rImpl.java:119)
        at
org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:131)
        at
org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:156)
        at
org.apache.flink.api.table.FlinkPlannerImpl.parse(FlinkPlannerImpl.scala:75)
        at
org.apache.flink.api.table.BatchTableEnvironment.sql(BatchTableEnvironment.s
cala:128)

        …

 

How would I use aliases which contain space(s)? 

 

Thank you,

Davran.

 

 

 

 

 

 

 

 

 

 

 

-- 
Freundliche Grüße / Kind Regards
 
Timo Walther 
 
Follow me: @twalthr
https://www.linkedin.com/in/twalthr

Re: "select as" in Flink SQL

Posted by Timo Walther <tw...@apache.org>.
Hi Davran,

Flink SQL uses a lexical policy similar to Java:
The case of identifiers is preserved whether or not they are quoted; 
after which, identifiers are matched case-sensitively. Unlike Java, 
back-ticks allow identifiers to contain non-alphanumeric characters.

So "select assetClass as `asset class` from tabel0" should do the trick.

I will improve the documentation about this.

Regards,
Timo

Am 30/08/16 um 21:49 schrieb Davran Muzafarov:
>
> I am try to execute simple sql like this:
>
> DataSet<MarketDataInfo> dataSet0 = env.fromCollection( infos0 );
>
> tableEnv.registerDataSet( "table0", dataSet0 );
>
> Table table = tableEnv.sql( "select assetClass as \asset class\ from 
> tabel0" );
>
> I am getting:
>
> org.apache.calcite.sql.parser.SqlParseException: Encountered "as \"" 
> at line 1, column 19.
>
> Was expecting one of:
>
> "FROM" ...
>
>   "," ...
>
> "AS" <IDENTIFIER> ...
>
> "AS" <QUOTED_IDENTIFIER> ...
>
> "AS" <BACK_QUOTED_IDENTIFIER> ...
>
> "AS" <BRACKET_QUOTED_IDENTIFIER> ...
>
> "AS" <UNICODE_QUOTED_IDENTIFIER> ...
>
> "." ...
>
> "(" ...
>
> "NOT" ...
>
> "IN" ...
>
> "BETWEEN" ...
>
> "LIKE" ...
>
> "SIMILAR" ...
>
> "=" ...
>
> ">" ...
>
> "<" ...
>
> "<=" ...
>
> ">=" ...
>
> "<>" ...
>
> "+" ...
>
> "-" ...
>
> "*" ...
>
> "/" ...
>
> "||" ...
>
> "AND" ...
>
> "OR" ...
>
> "IS" ...
>
> "MEMBER" ...
>
> "SUBMULTISET" ...
>
> "MULTISET" ...
>
> "[" ...
>
> at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:388)
>
> at 
> org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:119)
>
> at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:131)
>
> at org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:156)
>
> at 
> org.apache.flink.api.table.FlinkPlannerImpl.parse(FlinkPlannerImpl.scala:75)
>
> 
>
> If I use [ insteand of , I am getting:
>
> org.apache.calcite.sql.parser.SqlParseException: Encountered "as [" at line 1, column 19.
> Was expecting one of:
>      "FROM" ...
>      "," ...
>      "AS" <IDENTIFIER> ...
>      "AS" <QUOTED_IDENTIFIER> ...
>      "AS" <BACK_QUOTED_IDENTIFIER> ...
>      "AS" <BRACKET_QUOTED_IDENTIFIER> ...
>      "AS" <UNICODE_QUOTED_IDENTIFIER> ...
>      "." ...
>      "(" ...
>      "NOT" ...
>      "IN" ...
>      "BETWEEN" ...
>      "LIKE" ...
>      "SIMILAR" ...
>      "=" ...
>      ">" ...
>      "<" ...
>      "<=" ...
>      ">=" ...
>      "<>" ...
>      "+" ...
>      "-" ...
>      "*" ...
>      "/" ...
>      "||" ...
>      "AND" ...
>      "OR" ...
>      "IS" ...
>      "MEMBER" ...
>      "SUBMULTISET" ...
>      "MULTISET" ...
>      "[" ...
>      
>          at org.apache.calcite.sql.parser.impl.SqlParserImpl.convertException(SqlParserImpl.java:388)
>          at org.apache.calcite.sql.parser.impl.SqlParserImpl.normalizeException(SqlParserImpl.java:119)
>          at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:131)
>          at org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:156)
>          at org.apache.flink.api.table.FlinkPlannerImpl.parse(FlinkPlannerImpl.scala:75)
>          at org.apache.flink.api.table.BatchTableEnvironment.sql(BatchTableEnvironment.scala:128)
>
> 
>
> How would I use aliases which contain space(s)?
>
> Thank you,
>
> Davran.
>


-- 
Freundliche Gre / Kind Regards

Timo Walther

Follow me: @twalthr
https://www.linkedin.com/in/twalthr