From bd8d147a7d511cacd162d1777cc8aea708312d33 Mon Sep 17 00:00:00 2001 From: Ivan Malagon Date: Wed, 6 Sep 2017 16:21:01 +0200 Subject: [PATCH 1/8] Fix out of range bug in date histograms --- lib/cartodb/models/dataview/histogram.js | 4 ++-- test/acceptance/dataviews/histogram.js | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/cartodb/models/dataview/histogram.js b/lib/cartodb/models/dataview/histogram.js index c27c696f..6e62ad9d 100644 --- a/lib/cartodb/models/dataview/histogram.js +++ b/lib/cartodb/models/dataview/histogram.js @@ -198,8 +198,8 @@ var dateBasicsQueryTpl = dot.template([ var dateOverrideBasicsQueryTpl = dot.template([ '__cdb_basics AS (', ' SELECT', - ' max({{=it._end}}) AS __cdb_max_val,', - ' min({{=it._start}}) AS __cdb_min_val,', + ' max({{=it._end}})::float AS __cdb_max_val,', + ' min({{=it._start}})::float AS __cdb_min_val,', ' avg(date_part(\'epoch\', {{=it._column}})) AS __cdb_avg_val,', ' min(', ' date_trunc(', diff --git a/test/acceptance/dataviews/histogram.js b/test/acceptance/dataviews/histogram.js index 3baf002b..c9e16489 100644 --- a/test/acceptance/dataviews/histogram.js +++ b/test/acceptance/dataviews/histogram.js @@ -332,6 +332,21 @@ describe('histogram-dataview for date column type', function() { }); }); + it('should cast overridden start and end to float to avoid out of range errors ' + test.desc, function (done) { + var params = { + start: -2145916800, + end: 1009843199 + }; + + this.testClient = new TestClient(mapConfig, 1234); + this.testClient.getDataview(test.dataviewId, params, function (err, dataview) { + assert.ok(!err, err); + assert.equal(dataview.type, 'histogram'); + assert.ok(dataview.bin_width > 0, 'Unexpected bin width: ' + dataview.bin_width); + + done(); + }); + }); it('should return same histogram ' + test.desc, function (done) { var params = { From d77075295e1609ac1efed61dd255280d8a4bca69 Mon Sep 17 00:00:00 2001 From: Ivan Malagon Date: Thu, 7 Sep 2017 10:48:21 +0200 Subject: [PATCH 2/8] Update version and NEWS --- NEWS.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 62e7129c..45a7e000 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,11 @@ # Changelog +## 3.12.8 +Released 2017-mm-dd + +Bug fixes: +- Integer out of range in date histograms. (https://github.com/CartoDB/support/issues/962) + ## 3.12.7 Released 2017-09-01 diff --git a/package.json b/package.json index 058d0841..020438ee 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "windshaft-cartodb", - "version": "3.12.7", + "version": "3.12.8", "description": "A map tile server for CartoDB", "keywords": [ "cartodb" From 806c13beac1eb54700baf06d13e36b86b1833511 Mon Sep 17 00:00:00 2001 From: Ivan Malagon Date: Thu, 7 Sep 2017 10:51:23 +0200 Subject: [PATCH 3/8] Release 3.12.8 --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 45a7e000..a5436d6e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,7 @@ # Changelog ## 3.12.8 -Released 2017-mm-dd +Released 2017-09-07 Bug fixes: - Integer out of range in date histograms. (https://github.com/CartoDB/support/issues/962) From 7dd5c5b15d178ead67609e797e949fcb1479380b Mon Sep 17 00:00:00 2001 From: Javier Torres Date: Thu, 7 Sep 2017 14:39:25 +0200 Subject: [PATCH 4/8] Do not use distinct when calculating quantiles --- lib/cartodb/backends/turbo-carto-postgres-datasource.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/cartodb/backends/turbo-carto-postgres-datasource.js b/lib/cartodb/backends/turbo-carto-postgres-datasource.js index 65109325..b2550eb7 100644 --- a/lib/cartodb/backends/turbo-carto-postgres-datasource.js +++ b/lib/cartodb/backends/turbo-carto-postgres-datasource.js @@ -21,10 +21,10 @@ function createTemplate(method) { } var methods = { - quantiles: 'CDB_QuantileBins(array_agg(distinct({{=it._column}}::numeric)), {{=it._buckets}}) as quantiles', + quantiles: 'CDB_QuantileBins(array_agg({{=it._column}}::numeric), {{=it._buckets}}) as quantiles', equal: 'CDB_EqualIntervalBins(array_agg({{=it._column}}::numeric), {{=it._buckets}}) as equal', - jenks: 'CDB_JenksBins(array_agg(distinct({{=it._column}}::numeric)), {{=it._buckets}}) as jenks', - headtails: 'CDB_HeadsTailsBins(array_agg(distinct({{=it._column}}::numeric)), {{=it._buckets}}) as headtails' + jenks: 'CDB_JenksBins(array_agg({{=it._column}}::numeric), {{=it._buckets}}) as jenks', + headtails: 'CDB_HeadsTailsBins(array_agg({{=it._column}}::numeric), {{=it._buckets}}) as headtails' }; var methodTemplates = Object.keys(methods).reduce(function(methodTemplates, methodName) { From f1246cb060178ce3abccc036e7d9f8ce20f5af91 Mon Sep 17 00:00:00 2001 From: Javier Torres Date: Thu, 7 Sep 2017 15:53:59 +0200 Subject: [PATCH 5/8] Bump to 3.12.9 --- NEWS.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index a5436d6e..54ca402c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,11 @@ # Changelog +## 3.12.9 +Released 2017-mm-dd + +Bug fixes: +- Do not use distinct when calculating quantiles. #743 + ## 3.12.8 Released 2017-09-07 diff --git a/package.json b/package.json index 020438ee..02e0d5ca 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "windshaft-cartodb", - "version": "3.12.8", + "version": "3.12.9", "description": "A map tile server for CartoDB", "keywords": [ "cartodb" From a24792f46d140479cf051ab79fee22ad9a5007ec Mon Sep 17 00:00:00 2001 From: Javier Torres Date: Thu, 7 Sep 2017 15:57:11 +0200 Subject: [PATCH 6/8] Release 3.12.9 --- NEWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS.md b/NEWS.md index 54ca402c..d2cbc809 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,7 @@ # Changelog ## 3.12.9 -Released 2017-mm-dd +Released 2017-09-07 Bug fixes: - Do not use distinct when calculating quantiles. #743 From 855e5c9e4cb9d78b9a9eaa4ceb6564df4cc5e0d3 Mon Sep 17 00:00:00 2001 From: Javier Torres Date: Thu, 7 Sep 2017 15:59:32 +0200 Subject: [PATCH 7/8] Stub next release --- NEWS.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS.md b/NEWS.md index d2cbc809..15720ece 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,8 @@ # Changelog +## 3.12.10 +Released 2017-mm-dd + ## 3.12.9 Released 2017-09-07 From 6b2e2b2241dea41d39cff82e52b124af17041336 Mon Sep 17 00:00:00 2001 From: Javier Torres Date: Thu, 7 Sep 2017 16:00:27 +0200 Subject: [PATCH 8/8] Stub next release (package.json) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 02e0d5ca..12430490 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "windshaft-cartodb", - "version": "3.12.9", + "version": "3.12.10", "description": "A map tile server for CartoDB", "keywords": [ "cartodb"