You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2019/03/21 22:31:15 UTC
[impala] 02/04: IMPALA-8326: Fix CreateDropRoleStmt::toSql
This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
commit 602a9eb7193b81a3b7f8a05e044a70831da06714
Author: Austin Nobis <an...@cloudera.com>
AuthorDate: Wed Mar 20 10:34:30 2019 -0700
IMPALA-8326: Fix CreateDropRoleStmt::toSql
Previously the CreateDropRoleStmt::toSql method would incorrectly
order the stringified SQL statement as <role_name> ROLE CREATE/DROP.
This patch will properly order the statementas CREATE/DROP ROLE
<role_name>.
Testing:
- Ran all FE tests
- Added a new test to ToSqlTest for CreateDropRoleStmt
Change-Id: I25e4e1f680a6992779a47b5e6ad5092f27ba390a
Reviewed-on: http://gerrit.cloudera.org:8080/12813
Reviewed-by: Fredy Wijaya <fw...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
.../org/apache/impala/analysis/CreateDropRoleStmt.java | 2 +-
fe/src/test/java/org/apache/impala/analysis/ToSqlTest.java | 14 ++++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/fe/src/main/java/org/apache/impala/analysis/CreateDropRoleStmt.java b/fe/src/main/java/org/apache/impala/analysis/CreateDropRoleStmt.java
index f316fa4..fb18d41 100644
--- a/fe/src/main/java/org/apache/impala/analysis/CreateDropRoleStmt.java
+++ b/fe/src/main/java/org/apache/impala/analysis/CreateDropRoleStmt.java
@@ -38,7 +38,7 @@ public class CreateDropRoleStmt extends AuthorizationStmt {
@Override
public String toSql(ToSqlOptions options) {
- return String.format("%s ROLE %s", roleName_, isDropRole_ ? "DROP" : "CREATE");
+ return String.format("%s ROLE %s", isDropRole_ ? "DROP" : "CREATE", roleName_);
}
public TCreateDropRoleParams toThrift() {
diff --git a/fe/src/test/java/org/apache/impala/analysis/ToSqlTest.java b/fe/src/test/java/org/apache/impala/analysis/ToSqlTest.java
index 6bc048f..0e4ee1d 100644
--- a/fe/src/test/java/org/apache/impala/analysis/ToSqlTest.java
+++ b/fe/src/test/java/org/apache/impala/analysis/ToSqlTest.java
@@ -1470,6 +1470,20 @@ public class ToSqlTest extends FrontendTestBase {
"SELECT * FROM t");
}
+ @Test
+ public void testCreateDropRole() {
+ String testRole = "test_role";
+ AnalysisContext ctx = createAnalysisCtx(createAuthorizationConfig());
+
+ testToSql(ctx, String.format("CREATE ROLE %s", testRole));
+ try {
+ catalog_.addRole(testRole);
+ testToSql(ctx, String.format("DROP ROLE %s", testRole));
+ } finally {
+ catalog_.removeRole(testRole);
+ }
+ }
+
/**
* Tests invalidate statements are output correctly.
*/