From 9139d12295ecef0938efa071804ce5b65ab95d35 Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Wed, 5 Apr 2017 17:31:54 +0200 Subject: [PATCH] check if dataset is empty before sampling --- src/main/java/eu/hbp/mip/utils/DataUtil.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/eu/hbp/mip/utils/DataUtil.java b/src/main/java/eu/hbp/mip/utils/DataUtil.java index 27031ec23..d6b65b2e4 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; } } -- GitLab