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/incubator-kyuubi.git


The following commit(s) were added to refs/heads/master by this push:
     new b87d206  [KYUUBI #1458] Delta lake table columns won't show up in 
DBeaver.
b87d206 is described below

commit b87d206ffb5da16b7d7b7d401be053b0e78c7a99
Author: Muru Muthusamy <[email protected]>
AuthorDate: Thu Dec 2 09:49:06 2021 +0800

    [KYUUBI #1458] Delta lake table columns won't show up in DBeaver.
    
    <!--
    Thanks for sending a pull request!
    
    Here are some tips for you:
      1. If this is your first time, please read our contributor guidelines: 
https://kyuubi.readthedocs.io/en/latest/community/contributions.html
      2. If the PR is related to an issue in 
https://github.com/apache/incubator-kyuubi/issues, add '[KYUUBI #XXXX]' in your 
PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'.
      3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., 
'[WIP][KYUUBI #XXXX] Your PR title ...'.
    -->
    
    ### _Why are the changes needed?_
    <!--
    Please clarify why the changes are needed. For instance,
      1. If you add a feature, you can talk about the use case of it.
      2. If you fix a bug, you can clarify why it is a bug.
      Delta lake table columns won't show up in DBeaver client. This fix will 
address this issue and able to view table columns in the DBeaver now.
    -->
    
    ### _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/latest/develop_tools/testing.html#running-tests)
 locally before make a pull request
    
    Closes #1476 from mmuru/delta-table-cols-dbeaver-fix.
    
    Closes #1458
    
    7801c701 [Muru Muthusamy] Reformatted to fix style issue.
    4126da47 [Muru Muthusamy] Updated based on review feedback and added ignore 
case sensitive check.
    28a4a12d [Muru Muthusamy] [KYUUBI#1458] Delta lake table columns won't show 
up in DBeaver.
    
    Authored-by: Muru Muthusamy <[email protected]>
    Signed-off-by: Cheng Pan <[email protected]>
---
 .../org/apache/kyuubi/engine/spark/shim/CatalogShim_v2_4.scala    | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git 
a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/shim/CatalogShim_v2_4.scala
 
b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/shim/CatalogShim_v2_4.scala
index 4f70339..cc5a25b 100644
--- 
a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/shim/CatalogShim_v2_4.scala
+++ 
b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/shim/CatalogShim_v2_4.scala
@@ -125,7 +125,13 @@ class CatalogShim_v2_4 extends SparkCatalogShim {
     databases.flatMap { db =>
       val identifiers = catalog.listTables(db, tablePattern, 
includeLocalTempViews = true)
       catalog.getTablesByName(identifiers).flatMap { t =>
-        t.schema.zipWithIndex.filter(f => 
columnPattern.matcher(f._1.name).matches())
+        val tableSchema =
+          if (t.provider.getOrElse("").equalsIgnoreCase("delta")) {
+            spark.table(t.identifier.table).schema
+          } else {
+            t.schema
+          }
+        tableSchema.zipWithIndex.filter(f => 
columnPattern.matcher(f._1.name).matches())
           .map { case (f, i) => toColumnResult(catalogName, t.database, 
t.identifier.table, f, i) }
       }
     }

Reply via email to