From a9ce20cc4340c39ae4ab8d9df9c8f91cf05958b8 Mon Sep 17 00:00:00 2001 From: davidyuan Date: Sat, 15 Feb 2025 22:16:20 +0800 Subject: [PATCH 1/2] support create table as for paimon --- ...imonCatalogRangerSparkExtensionSuite.scala | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala index 81fe228d22f..fbf432b770d 100644 --- a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala +++ b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala @@ -111,6 +111,27 @@ class PaimonCatalogRangerSparkExtensionSuite extends RangerSparkExtensionSuite { } + test("CreateTableAs") { + val table2 = "table2" + withCleanTmpResources(Seq( + (s"$catalogV2.$namespace1.$table1", "table"), + (s"$catalogV2.$namespace1.$table2", "table"))) { + val createTable = createTableSql(namespace1, table1) + doAs(admin, sql(createTable)) + val createTableAsSql = + s""" + |CREATE TABLE IF NOT EXISTS $catalogV2.$namespace1.$table2 + |USING paimon + |AS + |SELECT * FROM $catalogV2.$namespace1.$table1 + |""".stripMargin + interceptEndsWith[AccessControlException] { + doAs(someone, sql(createTableAsSql)) + }(s"does not have [select] privilege on [$namespace1/$table1/id]") + doAs(admin, sql(createTableAsSql)) + } + } + def createTableSql(namespace: String, table: String): String = s""" |CREATE TABLE IF NOT EXISTS $catalogV2.$namespace.$table From 7bfd6ad4977005a51f0394a6956806b4f91dc456 Mon Sep 17 00:00:00 2001 From: david yuan Date: Mon, 17 Feb 2025 09:36:51 +0800 Subject: [PATCH 2/2] Update extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala change test desc Co-authored-by: Cheng Pan --- .../authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala index fbf432b770d..02f26802314 100644 --- a/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala +++ b/extensions/spark/kyuubi-spark-authz/src/test/scala/org/apache/kyuubi/plugin/spark/authz/ranger/PaimonCatalogRangerSparkExtensionSuite.scala @@ -111,7 +111,7 @@ class PaimonCatalogRangerSparkExtensionSuite extends RangerSparkExtensionSuite { } - test("CreateTableAs") { + test("CTAS") { val table2 = "table2" withCleanTmpResources(Seq( (s"$catalogV2.$namespace1.$table1", "table"),