You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2020/04/20 07:58:30 UTC
[incubator-doris] branch master updated: [New Stmt] Add SHOW KEYS
gramma (#3342)
This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push:
new c69bf9a [New Stmt] Add SHOW KEYS gramma (#3342)
c69bf9a is described below
commit c69bf9ac449336e69e6859c40aca8c1e340c38ba
Author: wutiangan <wu...@gmail.com>
AuthorDate: Mon Apr 20 15:58:20 2020 +0800
[New Stmt] Add SHOW KEYS gramma (#3342)
support `SHOW KEYS FROM table` for the data connector of mainstream BI tools
like PowerBI/FineBI
#3334
---
.../cn/sql-reference/sql-statements/Administration/SHOW INDEX.md | 4 +++-
.../sql-reference/sql-statements/Administration/SHOW INDEX_EN.md | 8 ++++++--
fe/src/main/cup/sql_parser.cup | 3 ++-
fe/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java | 2 +-
fe/src/main/jflex/sql_scanner.flex | 1 +
5 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/docs/documentation/cn/sql-reference/sql-statements/Administration/SHOW INDEX.md b/docs/documentation/cn/sql-reference/sql-statements/Administration/SHOW INDEX.md
index 8bad66b..d29a5df 100644
--- a/docs/documentation/cn/sql-reference/sql-statements/Administration/SHOW INDEX.md
+++ b/docs/documentation/cn/sql-reference/sql-statements/Administration/SHOW INDEX.md
@@ -23,7 +23,9 @@ under the License.
该语句用于展示一个表中索引的相关信息,目前只支持bitmap 索引
语法:
- SHOW INDEX[ES] FROM [db_name.]table_name;
+ SHOW INDEX[ES] FROM [db_name.]table_name [FROM database];
+ 或者
+ SHOW KEY[S] FROM [db_name.]table_name [FROM database];
## example
diff --git a/docs/documentation/en/sql-reference/sql-statements/Administration/SHOW INDEX_EN.md b/docs/documentation/en/sql-reference/sql-statements/Administration/SHOW INDEX_EN.md
index bae48c7..996d518 100644
--- a/docs/documentation/en/sql-reference/sql-statements/Administration/SHOW INDEX_EN.md
+++ b/docs/documentation/en/sql-reference/sql-statements/Administration/SHOW INDEX_EN.md
@@ -22,8 +22,12 @@ under the License.
## description
This statement is used to show all index(only bitmap index in current version) of a table
- 语法:
- SHOW INDEX[ES] FROM [db_name.]table_name;
+ Grammar:
+ SHOW INDEX[ES] FROM [db_name.]table_name [FROM database];
+
+ OR
+
+ SHOW KEY[S] FROM [db_name.]table_name [FROM database];
## example
diff --git a/fe/src/main/cup/sql_parser.cup b/fe/src/main/cup/sql_parser.cup
index 69c1a6f..0f6740d 100644
--- a/fe/src/main/cup/sql_parser.cup
+++ b/fe/src/main/cup/sql_parser.cup
@@ -241,7 +241,7 @@ terminal String KW_ADD, KW_ADMIN, KW_AFTER, KW_AGGREGATE, KW_ALL, KW_ALTER, KW_A
KW_IDENTIFIED, KW_IF, KW_IN, KW_INDEX, KW_INDEXES, KW_INFILE, KW_INSTALL,
KW_INNER, KW_INSERT, KW_INT, KW_INTERMEDIATE, KW_INTERSECT, KW_INTERVAL, KW_INTO, KW_IS, KW_ISNULL, KW_ISOLATION,
KW_JOIN,
- KW_KEY, KW_KILL,
+ KW_KEY, KW_KEYS, KW_KILL,
KW_LABEL, KW_LARGEINT, KW_LAST, KW_LEFT, KW_LESS, KW_LEVEL, KW_LIKE, KW_LIMIT, KW_LINK, KW_LOAD,
KW_LOCAL, KW_LOCATION,
KW_MAX, KW_MAX_VALUE, KW_MERGE, KW_MIN, KW_MINUTE, KW_MINUS, KW_MIGRATE, KW_MIGRATIONS, KW_MODIFY, KW_MONTH,
@@ -2241,6 +2241,7 @@ opt_tmp ::=
keys_or_index ::=
KW_KEY
+ | KW_KEYS
| KW_INDEX
| KW_INDEXES
;
diff --git a/fe/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java b/fe/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java
index e025b2c..1f2499f 100644
--- a/fe/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java
+++ b/fe/src/main/java/org/apache/doris/analysis/ShowIndexStmt.java
@@ -77,7 +77,7 @@ public class ShowIndexStmt extends ShowStmt {
if (!Catalog.getCurrentCatalog().getAuth().checkDbPriv(ConnectContext.get(), dbName, PrivPredicate.SHOW)) {
ErrorReport.reportAnalysisException(ErrorCode.ERR_DB_ACCESS_DENIED, analyzer.getQualifiedUser(), dbName);
}
- if (!Catalog.getCurrentCatalog().getAuth().checkTblPriv(ConnectContext.get(), dbName, dbName,
+ if (!Catalog.getCurrentCatalog().getAuth().checkTblPriv(ConnectContext.get(), dbName, tableName.getTbl(),
PrivPredicate.SHOW)) {
ErrorReport.reportAnalysisException(ErrorCode.ERR_TABLEACCESS_DENIED_ERROR, analyzer.getQualifiedUser(),
tableName.toString());
diff --git a/fe/src/main/jflex/sql_scanner.flex b/fe/src/main/jflex/sql_scanner.flex
index e5f31c7..ec53bea 100644
--- a/fe/src/main/jflex/sql_scanner.flex
+++ b/fe/src/main/jflex/sql_scanner.flex
@@ -225,6 +225,7 @@ import org.apache.doris.qe.SqlModeHelper;
keywordMap.put("install", new Integer(SqlParserSymbols.KW_INSTALL));
keywordMap.put("join", new Integer(SqlParserSymbols.KW_JOIN));
keywordMap.put("key", new Integer(SqlParserSymbols.KW_KEY));
+ keywordMap.put("keys", new Integer(SqlParserSymbols.KW_KEYS));
keywordMap.put("kill", new Integer(SqlParserSymbols.KW_KILL));
keywordMap.put("label", new Integer(SqlParserSymbols.KW_LABEL));
keywordMap.put("largeint", new Integer(SqlParserSymbols.KW_LARGEINT));
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org