[ 
https://issues.apache.org/jira/browse/CALCITE-2310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16476459#comment-16476459
 ] 

Julian Hyde commented on CALCITE-2310:
--------------------------------------

Makes sense. It would need to be in the "server" or "babel" parser, because the 
regular parser does not support DDL.

Sequences of statements begin to look like PL/SQL. So, should we instead parse 
a block:

{code}
BEGIN
  statement;
  ...
  statement;
END
{code}

You can add BEGIN and END before parsing.

> 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)

Reply via email to