From 326b78668c1a4489fa7204e184775241946c89a1 Mon Sep 17 00:00:00 2001 From: Yuya Ebihara Date: Fri, 7 Oct 2022 17:52:33 +0900 Subject: [PATCH] Hide Hive system schemas in Hudi --- .../src/main/java/io/trino/plugin/hudi/HudiMetadata.java | 4 +++- .../java/io/trino/plugin/hudi/BaseHudiConnectorTest.java | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java index 7e191e7e0624..bd2d83fa762b 100644 --- a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java +++ b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java @@ -89,7 +89,9 @@ public HudiMetadata(HiveMetastore metastore, HdfsEnvironment hdfsEnvironment, Ty @Override public List listSchemaNames(ConnectorSession session) { - return metastore.getAllDatabases(); + return metastore.getAllDatabases().stream() + .filter(schemaName -> !isHiveSystemSchema(schemaName)) + .collect(toImmutableList()); } @Override diff --git a/plugin/trino-hudi/src/test/java/io/trino/plugin/hudi/BaseHudiConnectorTest.java b/plugin/trino-hudi/src/test/java/io/trino/plugin/hudi/BaseHudiConnectorTest.java index 34aea735cf2d..9d23bf6cdcf8 100644 --- a/plugin/trino-hudi/src/test/java/io/trino/plugin/hudi/BaseHudiConnectorTest.java +++ b/plugin/trino-hudi/src/test/java/io/trino/plugin/hudi/BaseHudiConnectorTest.java @@ -79,6 +79,13 @@ public void testShowCreateTable() ")"); } + @Test + public void testHideHiveSysSchema() + { + assertThat(computeActual("SHOW SCHEMAS").getOnlyColumnAsSet()).doesNotContain("sys"); + assertQueryFails("SHOW TABLES IN hudi.sys", ".*Schema 'sys' does not exist"); + } + protected static String columnsToHide() { List columns = new ArrayList<>(HOODIE_META_COLUMNS.size() + 1);