[
https://issues.apache.org/jira/browse/FLINK-16367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
godfrey he updated FLINK-16367:
-------------------------------
Description:
As we deprecates {{execute}} method and {{explain}} method because of buffering
SQLs/Tables execution problem. This issue aims to introduce a new method named
createStatementSet to support executing and explaining the batching queries.
{code:java}
interface TableEnvironment {
/**
* Create a StatementSet instance which can add DML statements or Tables
* to the set, the planner can optimize all added statements and Tables
* together for better performance.
*/
StatementSet createStatementSet();
}
interface StatementSet {
/**
* add insert statement to the set.
*/
StatementSet addInsertSql(String statement);
/**
* add Table with the given sink table name to the set.
*/
StatementSet addInsert(String targetPath, Table table);
/**
* add Table with the given sink table name to the set.
*/
StatementSet addInsert(String targetPath, Table table, boolean overwrite);
/**
* returns the AST and the execution plan to compute the result of the
* all statements and Tables.
*
* @param extraDetails the extra details which the plan should contain.
* e.g. estimated cost, uid
*/
String explain(ExplainDetail... extraDetails);
/**
* execute all statements and Tables as a batch.
*
* The added statements and Tables will be cleared when executing
* this method.
*/
TableResult execute();
}
{code}
was:
As we deprecates {{execute}} method and {{explain}} method because of buffering
SQLs/Tables execution problem. This issue aims to introduce a new method named
createDmlBatch to support executing and explaining the batching queries.
{code:java}
interface TableEnvironment {
/**
* Create a DmlBatch instance which can add dml statements or Tables to the
batch,
* the planner can optimize all added statements and Tables together for
better performance.
*/
DmlBatch createDmlBatch();
}
interface DmlBatch {
/**
* add insert statement to the batch.
*/
void addInsert(String insert);
/**
* add Table with the given sink table name to the batch.
*/
void addInsert(String targetPath, Table table);
/**
* execute all statements and Tables as a batch.
*
* The added statements and Tables will be cleared when this method.
*/
ResultTable execute() throws Exception;
/**
* returns the AST and the execution plan to compute the result of the all
statements and Tables.
*
* @param extended if the plan should contain additional properties. e.g.
estimated cost, traits
*/
String explain(boolean extended);
}
{code}
> Introduce createStatementSet method in TableEnvironment
> --------------------------------------------------------
>
> Key: FLINK-16367
> URL: https://issues.apache.org/jira/browse/FLINK-16367
> Project: Flink
> Issue Type: Sub-task
> Components: Table SQL / API
> Reporter: godfrey he
> Priority: Major
> Fix For: 1.11.0
>
>
> As we deprecates {{execute}} method and {{explain}} method because of
> buffering SQLs/Tables execution problem. This issue aims to introduce a new
> method named createStatementSet to support executing and explaining the
> batching queries.
> {code:java}
> interface TableEnvironment {
> /**
> * Create a StatementSet instance which can add DML statements or Tables
> * to the set, the planner can optimize all added statements and Tables
> * together for better performance.
> */
> StatementSet createStatementSet();
> }
> interface StatementSet {
> /**
> * add insert statement to the set.
> */
> StatementSet addInsertSql(String statement);
>
> /**
> * add Table with the given sink table name to the set.
> */
> StatementSet addInsert(String targetPath, Table table);
>
> /**
> * add Table with the given sink table name to the set.
> */
> StatementSet addInsert(String targetPath, Table table, boolean overwrite);
>
> /**
> * returns the AST and the execution plan to compute the result of the
> * all statements and Tables.
> *
> * @param extraDetails the extra details which the plan should contain.
> * e.g. estimated cost, uid
> */
> String explain(ExplainDetail... extraDetails);
>
> /**
> * execute all statements and Tables as a batch.
> *
> * The added statements and Tables will be cleared when executing
> * this method.
> */
> TableResult execute();
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)