You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Lsw_aka_laplace (Jira)" <ji...@apache.org> on 2020/01/13 11:32:00 UTC
[jira] [Created] (FLINK-15573) Let Flink SQL
PlannerExpressionParserImpl#FieldRefrence use Unicode as its default
charset
Lsw_aka_laplace created FLINK-15573:
---------------------------------------
Summary: Let Flink SQL PlannerExpressionParserImpl#FieldRefrence use Unicode as its default charset
Key: FLINK-15573
URL: https://issues.apache.org/jira/browse/FLINK-15573
Project: Flink
Issue Type: Improvement
Components: Table SQL / Planner
Reporter: Lsw_aka_laplace
Now I am talking about the `PlannerExpressionParserImpl`
For now the fieldRefrence‘s charset is JavaIdentifier,why not change it to UnicodeIdentifier?
Currently in my team, we do actually have this problem. For instance, data from Es always contains `@timestamp` field , which can not meet JavaIdentifier. So what we did is just let the fieldRefrence Charset use Unicode
{code:scala}
lazy val extensionIdent: Parser[String] = ( "" ~> // handle whitespace rep1(acceptIf(Character.isUnicodeIdentifierStart)("identifier expected but '" + _ + "' found"), elem("identifier part", Character.isUnicodeIdentifierPart(: Char))) ^^ (.mkString) )
lazy val fieldReference: PackratParser[UnresolvedReferenceExpression] = (STAR | ident | extensionIdent) ^^ { sym => unresolvedRef(sym) }{code}
It is simple but really make sense~
Looking forward for any opinion
--
This message was sent by Atlassian Jira
(v8.3.4#803005)