protected void handleDataverseDropStatement(MetadataProvider metadataProvider, Statement stmt, IHyracksClientConnection hcc, IRequestParameters requestParameters) throws Exception { DataverseDropStatement stmtDelete = (DataverseDropStatement) stmt; SourceLocation sourceLoc = stmtDelete.getSourceLocation(); String dataverseName = stmtDelete.getDataverseName().getValue(); if (dataverseName.equals(MetadataBuiltinEntities.DEFAULT_DATAVERSE_NAME)) { throw new CompilationException(ErrorCode.COMPILATION_ERROR, sourceLoc, MetadataBuiltinEntities.DEFAULT_DATAVERSE_NAME + " dataverse can't be dropped"); } lockManager.acquireDataverseWriteLock(metadataProvider.getLocks(), dataverseName); try { doDropDataverse(stmtDelete, sourceLoc, metadataProvider, hcc); } finally { metadataProvider.getLocks().unlock(); ExternalDatasetsRegistry.INSTANCE.releaseAcquiredLocks(metadataProvider); } }