From a1807fd0c32ba44a69a4fcc75fe4f25f45da4d36 Mon Sep 17 00:00:00 2001 From: Rafa de la Torre Date: Thu, 5 Jul 2018 12:39:26 +0200 Subject: [PATCH] A better solution to the start-end problem --- lib/cartodb/models/dataview/histograms/numeric-histogram.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/cartodb/models/dataview/histograms/numeric-histogram.js b/lib/cartodb/models/dataview/histograms/numeric-histogram.js index 11dbdf2b..2538fa54 100644 --- a/lib/cartodb/models/dataview/histograms/numeric-histogram.js +++ b/lib/cartodb/models/dataview/histograms/numeric-histogram.js @@ -99,6 +99,7 @@ module.exports = class NumericHistogram extends BaseHistogram { var extra_tables = ``; var extra_queries = ``; var extra_groupby = ``; + var extra_filter = ``; if (ctx.start >= ctx.end) { ctx.end = `__cdb_basics.__cdb_max_val`; @@ -106,6 +107,8 @@ module.exports = class NumericHistogram extends BaseHistogram { extra_groupby = `, __cdb_basics.__cdb_max_val, __cdb_basics.__cdb_min_val`; extra_tables = `, __cdb_basics`; extra_queries = `WITH ${irqQueryTpl(ctx)}`; + } else { + extra_filter = `WHERE ${ctx.column} >= ${ctx.start} AND ${ctx.column} <= ${ctx.end}`; } if (ctx.bins <= 0) { @@ -135,7 +138,7 @@ SELECT END AS bin FROM ( - SELECT * FROM (${ctx.query}) __ctx_query WHERE ${ctx.column} >= ${ctx.start} AND ${ctx.column} <= ${ctx.end} + SELECT * FROM (${ctx.query}) __ctx_query${extra_tables} ${extra_filter} ) __cdb_filtered_source_query${extra_tables} GROUP BY 10${extra_groupby} ORDER BY 10;`;