You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by bl...@apache.org on 2019/07/22 15:27:10 UTC

[flink] branch master updated: [FLINK-13206]replace 'use database' with 'use' in sql client parser

This is an automated email from the ASF dual-hosted git repository.

bli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new 5da6e4c  [FLINK-13206]replace 'use database' with 'use' in sql client parser
5da6e4c is described below

commit 5da6e4c053751e0f9b28e2fcfeb9427b093b80c1
Author: zjuwangg <zj...@foxmail.com>
AuthorDate: Mon Jul 15 18:09:40 2019 +0800

    [FLINK-13206]replace 'use database' with 'use' in sql client parser
    
    Replace use database xxx with use xxx in sql client parser.
    
    This closes #9118.
---
 docs/dev/table/catalog.md                                           | 6 ++++--
 docs/dev/table/sql.md                                               | 2 +-
 .../java/org/apache/flink/table/client/cli/SqlCommandParser.java    | 2 +-
 .../org/apache/flink/table/client/cli/SqlCommandParserTest.java     | 3 +++
 4 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/docs/dev/table/catalog.md b/docs/dev/table/catalog.md
index c4a29cc..4e720b4 100644
--- a/docs/dev/table/catalog.md
+++ b/docs/dev/table/catalog.md
@@ -63,7 +63,9 @@ select * from mydb2.myTable2
 
 `CatalogManager` always has a built-in `GenericInMemoryCatalog` named `default_catalog`, which has a built-in default database named `default_database`. If no other catalog and database are explicitly set, they will be the current catalog and current database by default. All temp meta-objects, such as those defined by `TableEnvironment#registerTable`  are registered to this catalog. 
 
-Users can set current catalog and database via `TableEnvironment.useCatalog(...)` and `TableEnvironment.useDatabase(...)` in Table API, or `USE CATALOG ...` and `USE DATABASE ...` in Flink SQL.
+Users can set current catalog and database via `TableEnvironment.useCatalog(...)` and 
+`TableEnvironment.useDatabase(...)` in Table API, or `USE CATALOG ...` and `USE ...` in Flink SQL
+ Client.
 
 
 Catalog Types
@@ -333,7 +335,7 @@ default_catalog
 # ------ Set default catalog and database ------
 
 Flink SQL> use catalog myHive1;
-Flink SQL> use database myDb;
+Flink SQL> use myDb;
 
 # ------ Access Hive metadata ------
 
diff --git a/docs/dev/table/sql.md b/docs/dev/table/sql.md
index fb99ddc..f7f9592 100644
--- a/docs/dev/table/sql.md
+++ b/docs/dev/table/sql.md
@@ -322,7 +322,7 @@ USE CATALOG mycatalog;
 {% endhighlight %}
             <p>Set current database of the current catalog for the session</p>
 {% highlight sql %}
-USE DATABASE mydatabase;
+USE mydatabase;
 {% endhighlight %}
       </td>
     </tr>
diff --git a/flink-table/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/SqlCommandParser.java b/flink-table/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/SqlCommandParser.java
index 1ef50d5..049390a 100644
--- a/flink-table/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/SqlCommandParser.java
+++ b/flink-table/flink-sql-client/src/main/java/org/apache/flink/table/client/cli/SqlCommandParser.java
@@ -104,7 +104,7 @@ public final class SqlCommandParser {
 			SINGLE_OPERAND),
 
 		USE_DATABASE(
-			"USE\\s+DATABASE\\s+(.*)",
+			"USE\\s+(?!CATALOG)(.*)",
 			SINGLE_OPERAND),
 
 		DESCRIBE(
diff --git a/flink-table/flink-sql-client/src/test/java/org/apache/flink/table/client/cli/SqlCommandParserTest.java b/flink-table/flink-sql-client/src/test/java/org/apache/flink/table/client/cli/SqlCommandParserTest.java
index 9ad7fe9..4f903ee 100644
--- a/flink-table/flink-sql-client/src/test/java/org/apache/flink/table/client/cli/SqlCommandParserTest.java
+++ b/flink-table/flink-sql-client/src/test/java/org/apache/flink/table/client/cli/SqlCommandParserTest.java
@@ -74,6 +74,9 @@ public class SqlCommandParserTest {
 		testValidSqlCommand("reset;", new SqlCommandCall(SqlCommand.RESET));
 		testValidSqlCommand("source /my/file", new SqlCommandCall(SqlCommand.SOURCE, new String[] {"/my/file"}));
 		testInvalidSqlCommand("source"); // missing path
+		testValidSqlCommand("USE CATALOG default", new SqlCommandCall(SqlCommand.USE_CATALOG, new String[]{"default"}));
+		testValidSqlCommand("use default", new SqlCommandCall(SqlCommand.USE_DATABASE, new String[] {"default"}));
+		testInvalidSqlCommand("use catalog");
 	}
 
 	private void testInvalidSqlCommand(String stmt) {