From 780cb80c8cfb75681ff63a119c10f8f38b570966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Fri, 23 Aug 2019 17:16:35 +0200 Subject: [PATCH] Move method --- .../backends/layer-stats/mapnik-layer-stats.js | 16 ++++++++++++++-- lib/cartodb/utils/query-utils.js | 12 ------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/cartodb/backends/layer-stats/mapnik-layer-stats.js b/lib/cartodb/backends/layer-stats/mapnik-layer-stats.js index dc49691a..d8b01837 100644 --- a/lib/cartodb/backends/layer-stats/mapnik-layer-stats.js +++ b/lib/cartodb/backends/layer-stats/mapnik-layer-stats.js @@ -141,14 +141,26 @@ function _sample(ctx) { return queryUtils.queryPromise(ctx.dbConnection, sqlMaxMin) .then(maxMinRes => { const { min_id: min, id_span: span } = maxMinRes.rows[0]; - const ids = queryUtils.getSampleValuesFromRange(min, span, limit); - const sqlSample = _getSQL(ctx, sql => queryUtils.getSampleFromIdsQuery(sql, ids, columns)); + const values = _getSampleValuesFromRange(min, span, limit); + const sqlSample = _getSQL(ctx, sql => queryUtils.getSampleFromIdsQuery(sql, values, columns)); return queryUtils.queryPromise(ctx.dbConnection, sqlSample); }) .then(res => ({ sample: res.rows })); } +function _getSampleValuesFromRange (min, span, limit) { + const sample = new Set(); + + limit = limit < span ? limit : span; + + while (sample.size < limit) { + sample.add(Math.floor(min + Math.random() * span)); + } + + return Array.from(sample); +} + function _columnsMetadataRequired(options) { // We need determine the columns of a query // if either column stats or dimension stats are required, diff --git a/lib/cartodb/utils/query-utils.js b/lib/cartodb/utils/query-utils.js index 63d66110..b6e6d6bc 100644 --- a/lib/cartodb/utils/query-utils.js +++ b/lib/cartodb/utils/query-utils.js @@ -160,18 +160,6 @@ module.exports.getMaxMinColumnQuery = function (query, column = 'cartodb_id') { `; }; -module.exports.getSampleValuesFromRange = function getSampleValuesFromRange (min, span, limit) { - const sample = new Set(); - - limit = limit < span ? limit : span; - - while (sample.size < limit) { - sample.add(Math.floor(min + Math.random() * span)); - } - - return Array.from(sample); -}; - module.exports.getSampleFromIdsQuery = function (query, ids, columns, column = 'cartodb_id') { return ` SELECT