Skip to content

Commit

Permalink
[KYUUBI apache#1458] Delta lake table columns won't show up in DBeaver.
Browse files Browse the repository at this point in the history
<!--
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 apache#1476 from mmuru/delta-table-cols-dbeaver-fix.

Closes apache#1458

7801c70 [Muru Muthusamy] Reformatted to fix style issue.
4126da4 [Muru Muthusamy] Updated based on review feedback and added ignore case sensitive check.
28a4a12 [Muru Muthusamy] [KYUUBI#1458] Delta lake table columns won't show up in DBeaver.

Authored-by: Muru Muthusamy <mmuthusamy@womply.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
  • Loading branch information
mmuru-w authored and pan3793 committed Dec 2, 2021
1 parent a6d2323 commit b87d206
Showing 1 changed file with 7 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -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) }
}
}
Expand Down

0 comments on commit b87d206

Please sign in to comment.