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

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


The following commit(s) were added to refs/heads/master by this push:
     new 7fcbce3e9 Revert "[KYUUBI #5793][BUG] PVM with nested scala-subquery 
should not src table privilege"
7fcbce3e9 is described below

commit 7fcbce3e9d0a26a3dd675c5d6bfbad7e2a548505
Author: Kent Yao <[email protected]>
AuthorDate: Thu Nov 30 18:12:50 2023 +0800

    Revert "[KYUUBI #5793][BUG] PVM with nested scala-subquery should not src 
table privilege"
    
    This reverts commit 30c9c1657fe5dd6bf6bc58b5b51c44707c69c929.
---
 .../RuleApplyPermanentViewMarker.scala             | 20 +++-------
 .../authz/ranger/RangerSparkExtensionSuite.scala   | 46 ----------------------
 2 files changed, 5 insertions(+), 61 deletions(-)

diff --git 
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/rule/permanentview/RuleApplyPermanentViewMarker.scala
 
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/rule/permanentview/RuleApplyPermanentViewMarker.scala
index fdea01490..b809d8f34 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/rule/permanentview/RuleApplyPermanentViewMarker.scala
+++ 
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/rule/permanentview/RuleApplyPermanentViewMarker.scala
@@ -17,7 +17,6 @@
 
 package org.apache.kyuubi.plugin.spark.authz.rule.permanentview
 
-import org.apache.spark.sql.catalyst.catalog.CatalogTable
 import org.apache.spark.sql.catalyst.expressions.SubqueryExpression
 import org.apache.spark.sql.catalyst.plans.logical.{LogicalPlan, View}
 import org.apache.spark.sql.catalyst.rules.Rule
@@ -33,24 +32,15 @@ import 
org.apache.kyuubi.plugin.spark.authz.util.AuthZUtils._
  */
 class RuleApplyPermanentViewMarker extends Rule[LogicalPlan] {
 
-  private def resolveSubqueryExpression(
-      plan: LogicalPlan,
-      catalogTable: CatalogTable): LogicalPlan = {
-    plan.transformAllExpressions {
-      case subquery: SubqueryExpression =>
-        subquery.withNewPlan(plan = PermanentViewMarker(
-          resolveSubqueryExpression(subquery.plan, catalogTable),
-          catalogTable))
-    }
-  }
-
   override def apply(plan: LogicalPlan): LogicalPlan = {
     plan mapChildren {
       case p: PermanentViewMarker => p
       case permanentView: View if hasResolvedPermanentView(permanentView) =>
-        PermanentViewMarker(
-          resolveSubqueryExpression(permanentView, permanentView.desc),
-          permanentView.desc)
+        val resolved = permanentView.transformAllExpressions {
+          case subquery: SubqueryExpression =>
+            subquery.withNewPlan(plan = PermanentViewMarker(subquery.plan, 
permanentView.desc))
+        }
+        PermanentViewMarker(resolved, permanentView.desc)
       case other => apply(other)
     }
   }
diff --git 
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/RangerSparkExtensionSuite.scala
 
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/RangerSparkExtensionSuite.scala
index b2c23f4ef..c62cda5fa 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/RangerSparkExtensionSuite.scala
+++ 
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/RangerSparkExtensionSuite.scala
@@ -1368,50 +1368,4 @@ class HiveCatalogRangerSparkExtensionSuite extends 
RangerSparkExtensionSuite {
       }
     }
   }
-
-  test("[KYUUBI #5793][BUG] PVM with nested scala-subquery should not src 
table privilege") {
-    val db1 = defaultDb
-    val table1 = "table1"
-    val table2 = "table2"
-    val table3 = "table3"
-    val view1 = "perm_view"
-    withSingleCallEnabled {
-      withCleanTmpResources(
-        Seq(
-          (s"$db1.$table1", "table"),
-          (s"$db1.$table2", "table"),
-          (s"$db1.$table3", "table"),
-          (s"$db1.$view1", "view"))) {
-        doAs(admin, sql(s"CREATE TABLE IF NOT EXISTS $db1.$table1(id int, 
scope int)"))
-        doAs(
-          admin,
-          sql(
-            s"""
-               | CREATE TABLE IF NOT EXISTS $db1.$table2(
-               |  id int,
-               |  name string,
-               |  age int,
-               |  scope int)
-               | """.stripMargin))
-        doAs(admin, sql(s"CREATE TABLE IF NOT EXISTS $db1.$table3(id int, 
scope int)"))
-        doAs(
-          admin,
-          sql(
-            s"""
-               |CREATE VIEW $db1.$view1
-               |AS
-               |SELECT id, name, max(scope) as max_scope, sum(age) sum_age
-               |FROM $db1.$table2
-               |WHERE scope in (
-               |    SELECT max(scope) max_scope
-               |    FROM $db1.$table1
-               |    WHERE id IN (SELECT id FROM $db1.$table3)
-               |)
-               |GROUP BY id, name
-               |""".stripMargin))
-
-        checkAnswer(permViewOnlyUser, s"SELECT * FROM $db1.$view1", 
Array.empty[Row])
-      }
-    }
-  }
 }

Reply via email to