[
https://issues.apache.org/jira/browse/FLINK-8861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16478992#comment-16478992
]
ASF GitHub Bot commented on FLINK-8861:
---------------------------------------
Github user twalthr commented on a diff in the pull request:
https://github.com/apache/flink/pull/5660#discussion_r188939606
--- Diff:
flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/gateway/local/LocalExecutor.java
---
@@ -293,59 +339,75 @@ public ResultDescriptor executeQuery(SessionContext
session, String query) throw
}
@Override
- public TypedResult<Integer> snapshotResult(SessionContext session,
String resultId, int pageSize) throws SqlExecutionException {
- final DynamicResult result = resultStore.getResult(resultId);
- if (result == null) {
- throw new SqlExecutionException("Could not find a
result with result identifier '" + resultId + "'.");
- }
- if (!result.isMaterialized()) {
- throw new SqlExecutionException("Invalid result
retrieval mode.");
+ public TypedResult<Integer> snapshotResult(SessionContext session,
String resultId, int
+ pageSize) throws SqlExecutionException {
+ if (!resultStore.isStatic(resultId)) {
+ final DynamicResult result =
resultStore.getDynamicResult(resultId);
+ if (result == null) {
+ throw new SqlExecutionException("Could not find
a result with result identifier '" + resultId + "'.");
+ }
+ if (!result.isMaterialized()) {
+ throw new SqlExecutionException("Invalid result
retrieval mode.");
+ }
+ return ((MaterializedResult) result).snapshot(pageSize);
+ } else {
+ StaticResult staticResult =
resultStore.getStaticResult(resultId);
+ return staticResult.snapshot(pageSize);
}
- return ((MaterializedResult) result).snapshot(pageSize);
}
@Override
- public List<Row> retrieveResultPage(String resultId, int page) throws
SqlExecutionException {
- final DynamicResult result = resultStore.getResult(resultId);
- if (result == null) {
- throw new SqlExecutionException("Could not find a
result with result identifier '" + resultId + "'.");
- }
- if (!result.isMaterialized()) {
- throw new SqlExecutionException("Invalid result
retrieval mode.");
+ public List<Row> retrieveResultPage(String resultId, int page) throws
+ SqlExecutionException {
+ if (!resultStore.isStatic(resultId)) {
+ final DynamicResult result =
resultStore.getDynamicResult(resultId);
+ if (result == null) {
+ throw new SqlExecutionException("Could not find
a result with result identifier '" + resultId + "'.");
+ }
+ if (!result.isMaterialized()) {
+ throw new SqlExecutionException("Invalid result
retrieval mode.");
+ }
+ return ((MaterializedResult) result).retrievePage(page);
+ } else {
+ return
resultStore.getStaticResult(resultId).retrievePage(page);
}
- return ((MaterializedResult) result).retrievePage(page);
}
@Override
public void cancelQuery(SessionContext session, String resultId) throws
SqlExecutionException {
- final DynamicResult result = resultStore.getResult(resultId);
- if (result == null) {
- throw new SqlExecutionException("Could not find a
result with result identifier '" + resultId + "'.");
- }
+ if (!resultStore.isStatic(resultId)) {
--- End diff --
Do we really need the distinction between dynamic and state result here?
The executor should actually not matter. It should just kill whatever Flink job
is running.
> Add support for batch queries in SQL Client
> -------------------------------------------
>
> Key: FLINK-8861
> URL: https://issues.apache.org/jira/browse/FLINK-8861
> Project: Flink
> Issue Type: Sub-task
> Components: Table API & SQL
> Reporter: Timo Walther
> Assignee: Xingcan Cui
> Priority: Major
>
> This issue is a subtask of part two "Full Embedded SQL Client" of the
> implementation plan mentioned inĀ
> [FLIP-24|https://cwiki.apache.org/confluence/display/FLINK/FLIP-24+-+SQL+Client].
> Similar to streaming queries, it should be possible to execute batch queries
> in the SQL Client and collect the results using {{DataSet.collect()}} for
> debugging purposes.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)