[
https://issues.apache.org/jira/browse/FLINK-8858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16543530#comment-16543530
]
ASF GitHub Bot commented on FLINK-8858:
---------------------------------------
Github user pnowojski commented on a diff in the pull request:
https://github.com/apache/flink/pull/6332#discussion_r202408478
--- Diff:
flink-libraries/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/CliClient.java
---
@@ -173,55 +180,92 @@ public void open() {
if (line == null || line.equals("")) {
continue;
}
+ parseAndCall(line);
+ }
+ }
- final SqlCommandCall cmdCall =
SqlCommandParser.parse(line);
+ /**
+ * Submits a SQL update statement and prints status information and/or
errors on the terminal.
+ *
+ * @param statement SQL update statement
+ * @return flag to indicate if the submission was successful or not
+ */
+ public boolean submitUpdate(String statement) {
+
terminal.writer().println(CliStrings.messageInfo(CliStrings.MESSAGE_WILL_EXECUTE).toAnsi());
+ terminal.writer().println(new
AttributedString(statement).toString());
+ terminal.flush();
- if (cmdCall == null) {
-
terminal.writer().println(CliStrings.messageError(CliStrings.MESSAGE_UNKNOWN_SQL));
- continue;
- }
+ final Optional<SqlCommandCall> parsedStatement =
SqlCommandParser.parse(statement);
+ if (!parsedStatement.isPresent()) {
+
terminal.writer().println(CliStrings.messageError(CliStrings.MESSAGE_UNKNOWN_SQL).toAnsi());
+ terminal.flush();
+ return false;
+ }
- switch (cmdCall.command) {
- case QUIT:
- case EXIT:
- callQuit(cmdCall);
- break;
- case CLEAR:
- callClear(cmdCall);
- break;
- case RESET:
- callReset(cmdCall);
- break;
- case SET:
- callSet(cmdCall);
- break;
- case HELP:
- callHelp(cmdCall);
- break;
- case SHOW_TABLES:
- callShowTables(cmdCall);
- break;
- case SHOW_FUNCTIONS:
- callShowFunctions(cmdCall);
- break;
- case DESCRIBE:
- callDescribe(cmdCall);
- break;
- case EXPLAIN:
- callExplain(cmdCall);
- break;
- case SELECT:
- callSelect(cmdCall);
- break;
- case SOURCE:
- callSource(cmdCall);
- break;
- }
+ final SqlCommandCall cmdCall = parsedStatement.get();
+ switch (cmdCall.command) {
+ case INSERT_INTO:
+ return callInsertInto(cmdCall);
+ default:
+
terminal.writer().println(CliStrings.messageError(CliStrings.MESSAGE_UNSUPPORTED_SQL).toAnsi());
+ terminal.flush();
}
+
+ return false;
}
//
--------------------------------------------------------------------------------------------
+ private void parseAndCall(String line) {
+ final Optional<SqlCommandCall> parsedLine =
SqlCommandParser.parse(line);
+
+ if (!parsedLine.isPresent()) {
+
terminal.writer().println(CliStrings.messageError(CliStrings.MESSAGE_UNKNOWN_SQL).toAnsi());
+ return;
+ }
+
+ final SqlCommandCall cmdCall = parsedLine.get();
+ switch (cmdCall.command) {
+ case QUIT:
+ case EXIT:
+ callQuit(cmdCall);
+ break;
+ case CLEAR:
+ callClear(cmdCall);
+ break;
+ case RESET:
+ callReset(cmdCall);
+ break;
+ case SET:
+ callSet(cmdCall);
+ break;
+ case HELP:
+ callHelp(cmdCall);
+ break;
+ case SHOW_TABLES:
+ callShowTables(cmdCall);
+ break;
+ case SHOW_FUNCTIONS:
+ callShowFunctions(cmdCall);
+ break;
+ case DESCRIBE:
+ callDescribe(cmdCall);
+ break;
+ case EXPLAIN:
+ callExplain(cmdCall);
+ break;
+ case SELECT:
+ callSelect(cmdCall);
+ break;
+ case INSERT_INTO:
+ callInsertInto(cmdCall);
+ break;
+ case SOURCE:
+ callSource(cmdCall);
+ break;
--- End diff --
missing `default`?
> Add support for INSERT INTO in SQL Client
> -----------------------------------------
>
> Key: FLINK-8858
> URL: https://issues.apache.org/jira/browse/FLINK-8858
> Project: Flink
> Issue Type: Sub-task
> Components: Table API & SQL
> Affects Versions: 1.6.0
> Reporter: Renjie Liu
> Assignee: Timo Walther
> Priority: Major
> Labels: pull-request-available
>
> The current design of SQL Client embedded mode doesn't support long running
> queries. It would be useful for simple jobs that can be expressed in a single
> sql statement if we can submit sql statements stored in files as long running
> queries.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)