-
Notifications
You must be signed in to change notification settings - Fork 8.6k
Open
Description
Database Type
Starrocks
Database Version
Starrocks
Druid Version
1.2.23
JDK Version
ajdk11
Error SQL
SELECT * FROM
(SELECT exp_tags[111] from tablea where exp_tags[111] = 22222)t;
Testcase Code
@Test
public void testParseSRMap(){
String sql = "SELECT * FROM (SELECT exp_tags[111] from tablea where exp_tags[111] = 22222)t;";
SQLExprParser parser = SQLParserUtils.createExprParser(sql, DbType.starrocks);
SQLExpr expr = parser.expr();
System.out.println(expr);
}
Stacktrace Info
com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'FROM (SELECT exp_tags[111] from tablea wher', expect ), actual [, pos 31, line 1, column 31, token [
at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:862)
at com.alibaba.druid.sql.parser.SQLParser.accept(SQLParser.java:870)
at com.alibaba.druid.sql.parser.SQLSelectParser.parseTableSource(SQLSelectParser.java:1133)
at com.alibaba.druid.sql.parser.SQLSelectParser.parseFrom(SQLSelectParser.java:1122)
at com.alibaba.druid.sql.parser.SQLSelectParser.query(SQLSelectParser.java:476)
at com.alibaba.druid.sql.parser.SQLSelectParser.select(SQLSelectParser.java:62)
at com.alibaba.druid.sql.parser.SQLExprParser.primary(SQLExprParser.java:933)
at com.alibaba.druid.sql.parser.SQLExprParser.expr(SQLExprParser.java:111)
at me.ele.lpd.data.science.TempStaticTest.testParseSRMap(TempStaticTest.java:41)
Error Info
sr从 MAP 结构中提取单值的方式是通过 my_map[key]。
sr map语法文档:
https://docs.starrocks.io/docs/sql-reference/data-types/semi_structured/Map/#access-map-data
目前我自己临时方案是用hive解析器替代了
Metadata
Metadata
Assignees
Labels
No labels