diff --git a/src/main/java/eu/hbp/mip/utils/DataUtil.java b/src/main/java/eu/hbp/mip/utils/DataUtil.java index 27031ec23c8120051bfe2066c859c4832266e36f..d6b65b2e4613d1bc571f95de50c63d3d452572a5 100644 --- a/src/main/java/eu/hbp/mip/utils/DataUtil.java +++ b/src/main/java/eu/hbp/mip/utils/DataUtil.java @@ -32,7 +32,12 @@ public class DataUtil { for (String var : vars) { JsonArray currentVarData = new JsonArray(); - int samplingPercentage = 100 * NB_ROWS_SAMPLING / (int) countAdniRows(); + int nbRows = (int) countDatasetRows(); + if (nbRows < 1) + { + return data; + } + int samplingPercentage = 100 * NB_ROWS_SAMPLING / nbRows; List<Object> queryResult = jdbcTemplate.queryForList( "SELECT " + var + " FROM "+scienceMainTable+" " + "TABLESAMPLE SYSTEM ("+ samplingPercentage +") REPEATABLE ( "+ TABLESAMPLE_SEED +" )", Object.class); @@ -55,18 +60,16 @@ public class DataUtil { @Cacheable("colscount") public long countVariables() { - long count = jdbcTemplate.queryForObject( + return jdbcTemplate.queryForObject( "SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS " + "WHERE table_name = '"+scienceMainTable+"'", Long.class); - return count; } @Cacheable("rowscount") - public long countAdniRows() + public long countDatasetRows() { - long count = jdbcTemplate.queryForObject( + return jdbcTemplate.queryForObject( "SELECT COUNT(*) FROM "+scienceMainTable, Long.class); - return count; } }