diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/QueryMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/QueryMapper.java index 5b3aca08aa9e4dcd5a89846d28e29d04e85233a6..4c232eafcee6be72b107c9b315ccae9203e69a84 100644 --- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/QueryMapper.java +++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/QueryMapper.java @@ -744,7 +744,7 @@ public interface QueryMapper { } final TableColumn aliasColumn = optionalColumn.get(); if (item.getAlias() != null) { - aliasColumn.setAlias(item.getAlias().getName()); + aliasColumn.setAlias(item.getAlias().getName().replace("`", "")); } log.trace("found column with internal name {} and alias {}", aliasColumn.getInternalName(), aliasColumn.getAlias()); columns.add(aliasColumn); diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java index a27845c75c3061f9d7c1a34ebc8716747857014f..70a1e6cc2b5b74e7af2116d298aa0c11d467b396 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java @@ -140,7 +140,7 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService return connection.prepareStatement(statement); } catch (SQLException e) { log.error("Failed to prepare statement: {}", e.getMessage()); - throw new QueryMalformedException("Failed to prepare statement", e); + throw new QueryMalformedException("Failed to prepare statement: " + e.getMessage(), e); } } @@ -159,7 +159,7 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService return queryMapper.resultListToQueryResultDto(columns, resultSet); } catch (SQLException e) { log.error("Failed to execute and map time-versioned query: {}", e.getMessage()); - throw new TableMalformedException("Failed to execute and map time-versioned query", e); + throw new TableMalformedException("Failed to execute and map time-versioned query: " + e.getMessage(), e); } finally { dataSource.close(); } @@ -179,7 +179,7 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService return queryMapper.resultSetToNumber(resultSet); } catch (SQLException e) { log.error("Failed to map object: {}", e.getMessage()); - throw new TableMalformedException("Failed to map object", e); + throw new TableMalformedException("Failed to map object: " + e.getMessage(), e); } finally { dataSource.close(); } @@ -188,13 +188,13 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService @Override @Transactional(readOnly = true) public QueryResultDto tableFindAll(Long databaseId, Long tableId, Instant timestamp, Long page, - Long size, Principal principal) throws TableNotFoundException, DatabaseNotFoundException, - ImageNotSupportedException, TableMalformedException, QueryMalformedException { + Long size, Principal principal) throws TableNotFoundException, + DatabaseNotFoundException, TableMalformedException, QueryMalformedException, ImageNotSupportedException { /* find */ final Table table = tableService.find(databaseId, tableId); /* run query */ - String statement = queryMapper.tableToRawFindAllQuery(table, timestamp, size, page); - return executeNonPersistent(databaseId, statement, table.getColumns()); + return executeNonPersistent(databaseId, queryMapper.tableToRawFindAllQuery(table, timestamp, size, page), + table.getColumns()); } @Override @@ -213,7 +213,7 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService return queryMapper.resultListToQueryResultDto(view.getColumns(), resultSet); } catch (SQLException e) { log.error("Failed to map object: {}", e.getMessage()); - throw new TableMalformedException("Failed to map object", e); + throw new TableMalformedException("Failed to map object: " + e.getMessage(), e); } finally { dataSource.close(); } @@ -258,7 +258,7 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService preparedStatement.executeUpdate(); } catch (SQLException e) { log.error("Failed to execute query and/or export file: {}", e.getMessage()); - throw new FileStorageException("Failed to execute query and/or export file", e); + throw new FileStorageException("Failed to execute query and/or export file: " + e.getMessage(), e); } finally { dataSource.close(); } diff --git a/dbrepo-ui/components/query/SubsetList.vue b/dbrepo-ui/components/query/SubsetList.vue index 032574e66bad64f20f0c095c63b70f7f644cd5f7..9a75e6f14270e645c55128c373956785ad4ce05d 100644 --- a/dbrepo-ui/components/query/SubsetList.vue +++ b/dbrepo-ui/components/query/SubsetList.vue @@ -89,7 +89,7 @@ export default { this.queries = queries }) .catch((error) => { - if (error.response.status === 405) { + if (error.response.status === 403 || error.response.status === 405) { this.isAuthorizationError = true return }