Hello Aman Sinha, Riza Suminto, Joe McDonnell, Steve Carlin, Michael Smith, Impala Public Jenkins,
I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/22716 to look at the new patch set (#18). Change subject: IMPALA-13011: Support authorization for Calcite in Impala ...................................................................... IMPALA-13011: Support authorization for Calcite in Impala This patch adds support for authorization when Calcite is the planner. Specifically, this patch focuses on the authorization of table-level and column-level privilege requests, including the case when a table is a regular view, whether the view was created by a superuser. Note that CalciteAnalysisDriver would throw an exception from analysis() if given a query that requires table masking, i.e., column masking or row filtering, since this feature is not yet supported by the Calcite planner. Moreover, we register the VIEW_METADATA privilege for each function involved in the given query. We hardcode the database associated with the function to 'BuiltinsDb', which is a bit hacky. We should not be doing this once each function could be associated with a database when we are using the Calcite planner. We may need to change Calcite's parser for this. The issue reported in IMPALA-13767 will be taken care of in another separate patch and hence this patch could incorrectly register the privilege request for a common table expression (CTE) in a WITH clause, preventing a legitimate user from executing a query involving CTE's. Change-Id: I9a7f7e4dc9a86a2da9e387832e552538e34029c1 --- M fe/src/main/java/org/apache/impala/analysis/Analyzer.java M fe/src/main/java/org/apache/impala/analysis/ParsedStatement.java M fe/src/main/java/org/apache/impala/analysis/ParsedStatementImpl.java M fe/src/main/java/org/apache/impala/analysis/StmtMetadataLoader.java M fe/src/main/java/org/apache/impala/authorization/BaseAuthorizationChecker.java M java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/CalciteDb.java A java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaViewTable.java M java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteAnalysisDriver.java M java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteParsedStatement.java A java/calcite-planner/src/main/java/org/apache/impala/calcite/service/ImpalaSqlValidatorImpl.java 10 files changed, 314 insertions(+), 12 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/16/22716/18 -- To view, visit http://gerrit.cloudera.org:8080/22716 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I9a7f7e4dc9a86a2da9e387832e552538e34029c1 Gerrit-Change-Number: 22716 Gerrit-PatchSet: 18 Gerrit-Owner: Fang-Yu Rao <fangyu....@cloudera.com> Gerrit-Reviewer: Aman Sinha <amsi...@cloudera.com> Gerrit-Reviewer: Fang-Yu Rao <fangyu....@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Joe McDonnell <joemcdonn...@cloudera.com> Gerrit-Reviewer: Michael Smith <michael.sm...@cloudera.com> Gerrit-Reviewer: Riza Suminto <riza.sumi...@cloudera.com> Gerrit-Reviewer: Steve Carlin <scar...@cloudera.com>