You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sentry.apache.org by sr...@apache.org on 2016/10/27 19:22:23 UTC
sentry git commit: SENTRY-1313: Database prefix is not honoured when
executing grant statement (Sravya Tirukkovalur,
Reviewed by: Hao Hao and Alexander Kolbasov)
Repository: sentry
Updated Branches:
refs/heads/master a43f7dff0 -> 44dc1598e
SENTRY-1313: Database prefix is not honoured when executing grant statement (Sravya Tirukkovalur, Reviewed by: Hao Hao and Alexander Kolbasov)
Change-Id: I7c39724cd8b8f89d96499fdaed70fffad75728aa
Project: http://git-wip-us.apache.org/repos/asf/sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/sentry/commit/44dc1598
Tree: http://git-wip-us.apache.org/repos/asf/sentry/tree/44dc1598
Diff: http://git-wip-us.apache.org/repos/asf/sentry/diff/44dc1598
Branch: refs/heads/master
Commit: 44dc1598e5e6a98137a84b51005cafac36ad3272
Parents: a43f7df
Author: Sravya Tirukkovalur <sr...@apache.org>
Authored: Thu Oct 27 12:21:37 2016 -0700
Committer: Sravya Tirukkovalur <sr...@apache.org>
Committed: Thu Oct 27 12:21:37 2016 -0700
----------------------------------------------------------------------
.../hive/SentryHiveAuthorizationTaskFactoryImpl.java | 4 ++--
.../hive/TestSentryHiveAuthorizationTaskFactory.java | 11 +++++++++++
.../tests/e2e/dbprovider/TestDatabaseProvider.java | 2 +-
3 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sentry/blob/44dc1598/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/hive/SentryHiveAuthorizationTaskFactoryImpl.java
----------------------------------------------------------------------
diff --git a/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/hive/SentryHiveAuthorizationTaskFactoryImpl.java b/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/hive/SentryHiveAuthorizationTaskFactoryImpl.java
index 013d227..ceb3b17 100644
--- a/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/hive/SentryHiveAuthorizationTaskFactoryImpl.java
+++ b/sentry-binding/sentry-binding-hive/src/main/java/org/apache/sentry/binding/hive/SentryHiveAuthorizationTaskFactoryImpl.java
@@ -300,8 +300,8 @@ public class SentryHiveAuthorizationTaskFactoryImpl implements HiveAuthorization
subject.setServer(true);
} else if (astChild.getToken().getType() == HiveParser.TOK_TABLE_TYPE) {
subject.setTable(true);
- String[] qualified = BaseSemanticAnalyzer.getQualifiedTableName(gchild);
- subject.setObject(qualified[1]);
+ String qualified = BaseSemanticAnalyzer.getUnescapedName(gchild);
+ subject.setObject(qualified);
}
for (int i = 1; i < astChild.getChildCount(); i++) {
gchild = (ASTNode) astChild.getChild(i);
http://git-wip-us.apache.org/repos/asf/sentry/blob/44dc1598/sentry-binding/sentry-binding-hive/src/test/java/org/apache/sentry/binding/hive/TestSentryHiveAuthorizationTaskFactory.java
----------------------------------------------------------------------
diff --git a/sentry-binding/sentry-binding-hive/src/test/java/org/apache/sentry/binding/hive/TestSentryHiveAuthorizationTaskFactory.java b/sentry-binding/sentry-binding-hive/src/test/java/org/apache/sentry/binding/hive/TestSentryHiveAuthorizationTaskFactory.java
index 4fcb71c..aed218e 100644
--- a/sentry-binding/sentry-binding-hive/src/test/java/org/apache/sentry/binding/hive/TestSentryHiveAuthorizationTaskFactory.java
+++ b/sentry-binding/sentry-binding-hive/src/test/java/org/apache/sentry/binding/hive/TestSentryHiveAuthorizationTaskFactory.java
@@ -465,6 +465,17 @@ public class TestSentryHiveAuthorizationTaskFactory {
Assert.assertEquals(SERVER, privilegeDesc.getObject());
}
+ /*
+ Db prefix in grant
+ */
+ @Test
+ public void testDBPrefixInGrant() throws Exception {
+ DDLWork work = analyze(parse("GRANT " + ALL + " ON TABLE " + "db1." + TABLE
+ + " TO ROLE " + ROLE));
+ GrantDesc grantDesc = work.getGrantDesc();
+ Assert.assertEquals("Fully qualified table name in Grant statement is resolved incorrectly", "db1." + TABLE,
+ grantDesc.getPrivilegeSubjectDesc().getObject());
+ }
private void expectSemanticException(String command, String msg) throws Exception {
try {
analyze(parse(command));
http://git-wip-us.apache.org/repos/asf/sentry/blob/44dc1598/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java
----------------------------------------------------------------------
diff --git a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java
index 438f87e..63b00e2 100644
--- a/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java
+++ b/sentry-tests/sentry-tests-hive/src/test/java/org/apache/sentry/tests/e2e/dbprovider/TestDatabaseProvider.java
@@ -2209,7 +2209,7 @@ public class TestDatabaseProvider extends AbstractTestWithStaticConfiguration {
resultSet = statement.executeQuery("SHOW GRANT ROLE role1");
while ( resultSet.next()) {
- assertThat(resultSet.getString(1), equalToIgnoringCase("default"));//the value should be db1
+ assertThat(resultSet.getString(1), equalToIgnoringCase("db1"));//the value should be db1
assertThat(resultSet.getString(2), equalToIgnoringCase("tab1"));
assertThat(resultSet.getString(3), equalToIgnoringCase(""));//partition
assertThat(resultSet.getString(4), equalToIgnoringCase(""));//column