You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "hailong wang (Jira)" <ji...@apache.org> on 2020/01/10 13:25:00 UTC

[jira] [Created] (FLINK-15553) Create table ddl support comment after computed column

hailong wang created FLINK-15553:
------------------------------------

             Summary: Create table ddl support  comment after computed column
                 Key: FLINK-15553
                 URL: https://issues.apache.org/jira/browse/FLINK-15553
             Project: Flink
          Issue Type: Improvement
          Components: Table SQL / API
    Affects Versions: 1.10.0
            Reporter: hailong wang
             Fix For: 1.11.0


For now, we can define computed column in create table ddl, but we can not add comment after it just like regular table column, So we should support it,  it's grammar as follows:
{code:java}
col_name AS expr  [COMMENT 'string']
{code}
My idea is, we can introduce  class
{code:java}
 SqlTableComputedColumn{code}
to wrap name, expression and comment,  And just get the element from it will be ok.

As for parserImpls.ftl, it can be like as follows:
{code:java}
identifier = SimpleIdentifier()
<AS>
expr = Expression(ExprContext.ACCEPT_NON_QUERY)
[ <COMMENT> <QUOTED_STRING> {
    String p = SqlParserUtil.parseString(token.image);
    comment = SqlLiteral.createCharString(p, getPos());
}]
{
    SqlTableComputedColumn tableComputedColumn =
        new SqlTableComputedColumn(identifier, expr, comment, getPos());
    context.columnList.add(tableComputedColumn);
}{code}
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)