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

chengpan 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 afe137886 [KYUUBI #5638][FOLLOWUP] Remove unnecessary actionType in 
uri desc
afe137886 is described below

commit afe13788625ba10e5b1a0de478a00a692a7c37d2
Author: Angerszhuuuu <[email protected]>
AuthorDate: Wed Nov 8 10:32:45 2023 +0800

    [KYUUBI #5638][FOLLOWUP] Remove unnecessary actionType in uri desc
    
    ### _Why are the changes needed?_
    To close #5638
    Remove unnecessary actionType in uri desc
    
    ### _How was this patch tested?_
    - [ ] Add some test cases that check the changes thoroughly including 
negative and positive cases if possible
    
    - [ ] Add screenshots for manual tests if appropriate
    
    - [x] [Run 
test](https://kyuubi.readthedocs.io/en/master/contributing/code/testing.html#running-tests)
 locally before make a pull request
    
    ### _Was this patch authored or co-authored using generative AI tooling?_
    No
    
    Closes #5647 from AngersZhuuuu/KYUUBI-5638-FOLLOWUP.
    
    Closes #5638
    
    fd3c8c722 [Angerszhuuuu] Update PrivilegesBuilderSuite.scala
    5a1069b02 [Angerszhuuuu] [KYUUBI #5638][FOLLOWUP] Remove unnecessary 
actionType in uri desc
    
    Authored-by: Angerszhuuuu <[email protected]>
    Signed-off-by: Cheng Pan <[email protected]>
---
 .../src/main/resources/scan_command_spec.json          |  1 -
 .../src/main/resources/table_command_spec.json         | 18 ------------------
 .../kyuubi/plugin/spark/authz/PrivilegeObject.scala    |  6 ++----
 .../kyuubi/plugin/spark/authz/PrivilegesBuilder.scala  |  8 +++-----
 .../kyuubi/plugin/spark/authz/serde/Descriptor.scala   |  1 -
 .../plugin/spark/authz/PrivilegesBuilderSuite.scala    |  6 +++---
 .../kyuubi/plugin/spark/authz/gen/TableCommands.scala  | 12 ++----------
 7 files changed, 10 insertions(+), 42 deletions(-)

diff --git 
a/extensions/spark/kyuubi-spark-authz/src/main/resources/scan_command_spec.json 
b/extensions/spark/kyuubi-spark-authz/src/main/resources/scan_command_spec.json
index 1fbcc9612..75510a577 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/main/resources/scan_command_spec.json
+++ 
b/extensions/spark/kyuubi-spark-authz/src/main/resources/scan_command_spec.json
@@ -27,7 +27,6 @@
   "uriDescs" : [ {
     "fieldName" : "relation",
     "fieldExtractor" : "BaseRelationFileIndexURIExtractor",
-    "actionTypeDesc" : null,
     "isInput" : false
   } ]
 }, {
diff --git 
a/extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json
 
b/extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json
index 4fc26a881..31de180bf 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json
+++ 
b/extensions/spark/kyuubi-spark-authz/src/main/resources/table_command_spec.json
@@ -1100,11 +1100,6 @@
   "uriDescs" : [ {
     "fieldName" : "storage",
     "fieldExtractor" : "CatalogStorageFormatURIExtractor",
-    "actionTypeDesc" : {
-      "fieldName" : "overwrite",
-      "fieldExtractor" : "OverwriteOrInsertActionTypeExtractor",
-      "actionType" : null
-    },
     "isInput" : false
   } ]
 }, {
@@ -1131,7 +1126,6 @@
   "uriDescs" : [ {
     "fieldName" : "path",
     "fieldExtractor" : "StringURIExtractor",
-    "actionTypeDesc" : null,
     "isInput" : true
   } ]
 }, {
@@ -1357,11 +1351,6 @@
   "uriDescs" : [ {
     "fieldName" : "options",
     "fieldExtractor" : "OptionsUriExtractor",
-    "actionTypeDesc" : {
-      "fieldName" : "mode",
-      "fieldExtractor" : "SaveModeActionTypeExtractor",
-      "actionType" : null
-    },
     "isInput" : false
   } ]
 }, {
@@ -1396,11 +1385,6 @@
   "uriDescs" : [ {
     "fieldName" : "storage",
     "fieldExtractor" : "CatalogStorageFormatURIExtractor",
-    "actionTypeDesc" : {
-      "fieldName" : "overwrite",
-      "fieldExtractor" : "OverwriteOrInsertActionTypeExtractor",
-      "actionType" : null
-    },
     "isInput" : false
   } ]
 }, {
@@ -1674,7 +1658,6 @@
   "uriDescs" : [ {
     "fieldName" : "path",
     "fieldExtractor" : "StringURIExtractor",
-    "actionTypeDesc" : null,
     "isInput" : false
   } ]
 }, {
@@ -1700,7 +1683,6 @@
   "uriDescs" : [ {
     "fieldName" : "path",
     "fieldExtractor" : "StringURIExtractor",
-    "actionTypeDesc" : null,
     "isInput" : true
   } ]
 }, {
diff --git 
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegeObject.scala
 
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegeObject.scala
index 2e391790e..228aaeb11 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegeObject.scala
+++ 
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegeObject.scala
@@ -88,16 +88,14 @@ object PrivilegeObject {
     ) // TODO: Support catalog for function
   }
 
-  def apply(
-      uri: Uri,
-      actionType: PrivilegeObjectActionType): PrivilegeObject = {
+  def apply(uri: Uri): PrivilegeObject = {
     val privilegeObjectType = Option(new URI(uri.path).getScheme) match {
       case Some("file") => LOCAL_URI
       case _ => DFS_URI
     }
     new PrivilegeObject(
       privilegeObjectType,
-      actionType,
+      PrivilegeObjectActionType.OTHER,
       uri.path,
       null,
       Nil,
diff --git 
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
 
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
index b708b7f8b..b541efc11 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
+++ 
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
@@ -119,8 +119,7 @@ object PrivilegesBuilder {
         if (tables.nonEmpty) {
           tables.foreach(mergeProjection(_, scan))
         } else {
-          getScanSpec(scan).uris(scan).foreach(
-            privilegeObjects += PrivilegeObject(_, 
PrivilegeObjectActionType.OTHER))
+          getScanSpec(scan).uris(scan).foreach(privilegeObjects += 
PrivilegeObject(_))
         }
 
       case u if u.nodeName == "UnresolvedRelation" =>
@@ -204,11 +203,10 @@ object PrivilegesBuilder {
         spec.uriDescs.foreach { ud =>
           try {
             val uris = ud.extract(plan)
-            val actionType = 
ud.actionTypeDesc.map(_.extract(plan)).getOrElse(OTHER)
             if (ud.isInput) {
-              inputObjs ++= uris.map(PrivilegeObject(_, actionType))
+              inputObjs ++= uris.map(PrivilegeObject(_))
             } else {
-              outputObjs ++= uris.map(PrivilegeObject(_, actionType))
+              outputObjs ++= uris.map(PrivilegeObject(_))
             }
           } catch {
             case e: Exception =>
diff --git 
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/Descriptor.scala
 
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/Descriptor.scala
index 5d0d77fd6..5b73e7ceb 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/Descriptor.scala
+++ 
b/extensions/spark/kyuubi-spark-authz/src/main/scala/org/apache/kyuubi/plugin/spark/authz/serde/Descriptor.scala
@@ -317,7 +317,6 @@ case class ScanDesc(
 case class UriDesc(
     fieldName: String,
     fieldExtractor: String,
-    actionTypeDesc: Option[ActionTypeDesc] = None,
     isInput: Boolean = false) extends Descriptor {
   override def extract(v: AnyRef): Seq[Uri] = {
     val uriVal = invokeAs[AnyRef](v, fieldName)
diff --git 
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilderSuite.scala
 
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilderSuite.scala
index 6f0a0ae6e..5d87f91f9 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilderSuite.scala
+++ 
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/PrivilegesBuilderSuite.scala
@@ -1478,7 +1478,7 @@ class HiveCatalogPrivilegeBuilderSuite extends 
PrivilegesBuilderSuite {
 
     assert(out.size == 1)
     val po1 = out.head
-    assert(po1.actionType === PrivilegeObjectActionType.INSERT_OVERWRITE)
+    assert(po1.actionType === PrivilegeObjectActionType.OTHER)
     assert(po1.privilegeObjectType === PrivilegeObjectType.DFS_URI)
     assert(po1.dbname === directory.path)
     assert(po1.objectName === null)
@@ -1609,7 +1609,7 @@ class HiveCatalogPrivilegeBuilderSuite extends 
PrivilegesBuilderSuite {
 
     assert(out.size == 1)
     val po1 = out.head
-    assert(po1.actionType === PrivilegeObjectActionType.INSERT_OVERWRITE)
+    assert(po1.actionType === PrivilegeObjectActionType.OTHER)
     assert(po1.privilegeObjectType === PrivilegeObjectType.DFS_URI)
     assert(po1.dbname === directory.path)
     assert(po1.objectName === null)
@@ -1642,7 +1642,7 @@ class HiveCatalogPrivilegeBuilderSuite extends 
PrivilegesBuilderSuite {
 
     assert(out.size == 1)
     val po1 = out.head
-    assert(po1.actionType === PrivilegeObjectActionType.INSERT_OVERWRITE)
+    assert(po1.actionType === PrivilegeObjectActionType.OTHER)
     assert(po1.privilegeObjectType === PrivilegeObjectType.DFS_URI)
     assert(po1.dbname === directory.path)
     assert(po1.objectName === null)
diff --git 
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/gen/TableCommands.scala
 
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/gen/TableCommands.scala
index 3eeb5dfe0..3ccf33921 100644
--- 
a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/gen/TableCommands.scala
+++ 
b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/gen/TableCommands.scala
@@ -552,22 +552,14 @@ object TableCommands extends 
CommandSpecs[TableCommandSpec] {
   val InsertIntoDataSourceDir = {
     val cmd = 
"org.apache.spark.sql.execution.command.InsertIntoDataSourceDirCommand"
     val queryDesc = queryQueryDesc
-    val actionTypeDesc = overwriteActionTypeDesc
-    val uriDesc = UriDesc(
-      "storage",
-      classOf[CatalogStorageFormatURIExtractor],
-      actionTypeDesc = Some(actionTypeDesc))
+    val uriDesc = UriDesc("storage", classOf[CatalogStorageFormatURIExtractor])
     TableCommandSpec(cmd, Nil, queryDescs = Seq(queryDesc), uriDescs = 
Seq(uriDesc))
   }
 
   val SaveIntoDataSourceCommand = {
     val cmd = 
"org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand"
     val queryDesc = queryQueryDesc
-    val actionTypeDesc = ActionTypeDesc("mode", 
classOf[SaveModeActionTypeExtractor])
-    val uriDesc = UriDesc(
-      "options",
-      classOf[OptionsUriExtractor],
-      actionTypeDesc = Some(actionTypeDesc))
+    val uriDesc = UriDesc("options", classOf[OptionsUriExtractor])
     TableCommandSpec(cmd, Nil, queryDescs = Seq(queryDesc), uriDescs = 
Seq(uriDesc))
   }
 

Reply via email to