diff --git a/src/main/java/eu/hbp/mip/controllers/ModelsApi.java b/src/main/java/eu/hbp/mip/controllers/ModelsApi.java index 732ae2dfdff7a7783626def818bcd671a462b62c..af318afa556d37175ba4d1bd03e5606c8e3b5aac 100644 --- a/src/main/java/eu/hbp/mip/controllers/ModelsApi.java +++ b/src/main/java/eu/hbp/mip/controllers/ModelsApi.java @@ -276,7 +276,7 @@ public class ModelsApi { datasetRepository.save(model.getDataset()); modelRepository.save(model); - LOGGER.info("Model updated (also saved/updated model.config, model.query and model.dataset)"); + LOGGER.info("Model updated (also saved/updated model.config and model.query)"); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/src/main/java/eu/hbp/mip/utils/DataUtil.java b/src/main/java/eu/hbp/mip/utils/DataUtil.java index 468f008d2704510e1243ec9b6a3527fb2dc4c371..29e17d6f412abb6eb7b380b7de746bfc495cc403 100644 --- a/src/main/java/eu/hbp/mip/utils/DataUtil.java +++ b/src/main/java/eu/hbp/mip/utils/DataUtil.java @@ -13,6 +13,8 @@ import java.util.Map; public class DataUtil { + private static final int NB_ROWS_SAMPLING = 200; + private JdbcTemplate jdbcTemplate; public DataUtil(JdbcTemplate jdbcTemplate) @@ -26,7 +28,10 @@ public class DataUtil { for (String var : vars) { JsonArray currentVarData = new JsonArray(); - List<Map<String, Object>> queryResult = jdbcTemplate.queryForList("SELECT " + var + " FROM science.adni_merge"); + int samplingPercentage = (int) countAdniRows()/NB_ROWS_SAMPLING; + List<Map<String, Object>> queryResult = jdbcTemplate.queryForList( + "SELECT " + var + " FROM science.adni_merge " + + "TABLESAMPLE SYSTEM ("+ samplingPercentage +") REPEATABLE ( 42 )"); for (Map resultMap : queryResult) { String strValue = String.valueOf(resultMap.get(var)); @@ -51,4 +56,11 @@ public class DataUtil { return count; } + public long countAdniRows() + { + long count = jdbcTemplate.queryForObject( + "SELECT COUNT(*) FROM science.adni_merge", Long.class); + return count; + } + }