[
https://issues.apache.org/jira/browse/CALCITE-2310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16476787#comment-16476787
]
Fei Xu commented on CALCITE-2310:
---------------------------------
Put this extension to 'server' module is OK. But do you think we really need
add BEGIN and ENG for parse a block ? cause single statement can be a special
case of sequences statements, e.g.
{code:java}
/**
* Parses Sequences SQL statement followed by the end-of-file symbol.
*/
List<SqlNode> seqSqlStmtEof() :
{
List<SqlNode> list = new ArrayList();
SqlNode stmt;
}
{
stmt = SqlStmt() { list.add(stmt); }
( <SEMICOLON> stmt = SqlStmt() {list.add(stmt);} ) *
[ <SEMICOLON> ]
<EOF>
{
return list;
}
}
{code}
> SqlParser parse multiple sql statements split by semicolon
> ----------------------------------------------------------
>
> Key: CALCITE-2310
> URL: https://issues.apache.org/jira/browse/CALCITE-2310
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Fei Xu
> Assignee: Julian Hyde
> Priority: Minor
>
> Current, SqlParser only supports parse single sql statement to single
> SqlNode. But since we have server module, and support DDL syntax, It is
> common to write DDL statement and DML statement together to build a complete
> logic.
> For example:
> * Table orders is a source table;
> * Table output_console is a sink table;
> * Read data from source table, do some project and filter, then write to
> sink table.
> {code:java}
> CREATE TABLE orders (
> createTime TIMESTAMP,
> productId bigint,
> orderId bigint,
> units bigint,
> user_name VARCHAR
> );
> CREATE TABLE output_console(
> createTime TIMESTAMP,
> productId bigint,
> orderId bigint,
> units bigint,
> user_name VARCHAR
> );
> INSERT INTO output_console
> SELECT
> createTime,
> productId,
> orderId,
> units,
> user_name
> FROM orders
> WHERE (productId>3) AND (productId<8);
> {code}
> So, I think it really helps if SqlParser support parse multiple sql
> statements.
>
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)