diff --git a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloClient.java b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloClient.java index efbf3b4647c2..63e0ed04eec4 100644 --- a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloClient.java +++ b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloClient.java @@ -564,6 +564,10 @@ private void renameIndexTables(AccumuloTable oldTable, AccumuloTable newTable) public void createView(SchemaTableName viewName, String viewData) { + if (!tableManager.namespaceExists(viewName.getSchemaName())) { + throw new SchemaNotFoundException(viewName.getSchemaName()); + } + if (getSchemaNames().contains(viewName.getSchemaName())) { if (getViewNames(viewName.getSchemaName()).contains(viewName.getTableName())) { throw new TrinoException(ALREADY_EXISTS, "View already exists"); @@ -579,6 +583,10 @@ public void createView(SchemaTableName viewName, String viewData) public void createOrReplaceView(SchemaTableName viewName, String viewData) { + if (!tableManager.namespaceExists(viewName.getSchemaName())) { + throw new SchemaNotFoundException(viewName.getSchemaName()); + } + if (getView(viewName) != null) { metaManager.deleteViewMetadata(viewName); } diff --git a/plugin/trino-accumulo/src/test/java/io/trino/plugin/accumulo/TestAccumuloConnectorTest.java b/plugin/trino-accumulo/src/test/java/io/trino/plugin/accumulo/TestAccumuloConnectorTest.java index 0fc629e28b22..322b1faf644e 100644 --- a/plugin/trino-accumulo/src/test/java/io/trino/plugin/accumulo/TestAccumuloConnectorTest.java +++ b/plugin/trino-accumulo/src/test/java/io/trino/plugin/accumulo/TestAccumuloConnectorTest.java @@ -316,15 +316,6 @@ public void testShowCreateTable() ")"); } - @Test - @Override - public void testCreateViewSchemaNotFound() - { - // TODO (https://github.com/trinodb/trino/issues/12475) Accumulo connector can create new views in a schema where it doesn't exist - assertThatThrownBy(super::testCreateViewSchemaNotFound) - .hasMessageContaining("Expected query to fail: CREATE VIEW test_schema_"); - } - @Override protected Optional filterDataMappingSmokeTestData(DataMappingTestSetup dataMappingTestSetup) {