dramaticlly commented on code in PR #11813: URL: https://github.com/apache/iceberg/pull/11813#discussion_r1904501804
########## hive-metastore/src/test/java/org/apache/iceberg/hive/TestHiveViewCatalog.java: ########## @@ -125,6 +125,51 @@ public void testHiveViewAndIcebergViewWithSameName() throws TException, IOExcept .hasMessageStartingWith("Not an iceberg view: hive.hivedb.test_hive_view"); } + @Test + public void testHiveViewExists() throws IOException, TException { + String dbName = "hivedb"; + Namespace ns = Namespace.of(dbName); + String viewName = "test_hive_view_exists"; + TableIdentifier identifier = TableIdentifier.of(ns, viewName); + TableIdentifier invalidIdentifier = TableIdentifier.of(dbName, "invalid", viewName); + if (requiresNamespaceCreate()) { + catalog.createNamespace(identifier.namespace()); + } + + assertThat(catalog.viewExists(invalidIdentifier)) + .as("Should return false on invalid view identifier") + .isFalse(); + assertThat(catalog.viewExists(identifier)).as("View should not exist before create").isFalse(); + + catalog + .buildView(identifier) + .withSchema(SCHEMA) + .withDefaultNamespace(ns) + .withQuery("hive", "select * from hivedb.tbl") + .create(); + assertThat(catalog.viewExists(identifier)).as("View should exist after create").isTrue(); + + catalog.dropView(identifier); + assertThat(catalog.viewExists(identifier)).as("View should not exist after drop").isFalse(); + + // create a hive table + Table hiveTable = + createHiveView( + viewName, dbName, Files.createTempDirectory("hive-view-tests-name").toString()); + HIVE_METASTORE_EXTENSION.metastoreClient().createTable(hiveTable); + assertThat(catalog.viewExists(identifier)) + .as("ViewExists should return false if identifier refers to a non-iceberg view") + .isFalse(); + HIVE_METASTORE_EXTENSION.metastoreClient().dropTable(dbName, viewName); Review Comment: thank you @pvary , I added test scenarios to validate the behavior of `viewExists` when there's existing hiveView, hiveTable and icebergTable in the catalog. Hope this is what you are looking for -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org