Search in sources :

Example 1 with ViewNotFoundException

use of com.facebook.presto.spi.ViewNotFoundException in project presto by prestodb.

the class AbstractTestHiveClient method verifyViewCreation.

private void verifyViewCreation() {
    // replace works for new view
    doCreateView(temporaryCreateView, true);
    // replace works for existing view
    doCreateView(temporaryCreateView, true);
    // create fails for existing view
    try {
        doCreateView(temporaryCreateView, false);
        fail("create existing should fail");
    } catch (ViewAlreadyExistsException e) {
        assertEquals(e.getViewName(), temporaryCreateView);
    }
    try (Transaction transaction = newTransaction()) {
        ConnectorMetadata metadata = transaction.getMetadata();
        // drop works when view exists
        metadata.dropView(newSession(), temporaryCreateView);
        transaction.commit();
    }
    try (Transaction transaction = newTransaction()) {
        ConnectorMetadata metadata = transaction.getMetadata();
        assertEquals(metadata.getViews(newSession(), temporaryCreateView.toSchemaTablePrefix()).size(), 0);
        assertFalse(metadata.listViews(newSession(), temporaryCreateView.getSchemaName()).contains(temporaryCreateView));
    }
    // drop fails when view does not exist
    try (Transaction transaction = newTransaction()) {
        ConnectorMetadata metadata = transaction.getMetadata();
        metadata.dropView(newSession(), temporaryCreateView);
        fail("drop non-existing should fail");
    } catch (ViewNotFoundException e) {
        assertEquals(e.getViewName(), temporaryCreateView);
    }
    // create works for new view
    doCreateView(temporaryCreateView, false);
}
Also used : ConnectorMetadata(com.facebook.presto.spi.connector.ConnectorMetadata) ViewNotFoundException(com.facebook.presto.spi.ViewNotFoundException)

Aggregations

ViewNotFoundException (com.facebook.presto.spi.ViewNotFoundException)1 ConnectorMetadata (com.facebook.presto.spi.connector.ConnectorMetadata)1