From b2f3735e95d6c7820d7e1a18b494c1a997711221 Mon Sep 17 00:00:00 2001 From: Javier Goizueta Date: Fri, 23 Jun 2017 18:59:51 +0200 Subject: [PATCH] The formula widget wasn't using the no_filters query for checking column types --- lib/cartodb/models/dataview/formula.js | 5 +++-- lib/cartodb/models/dataview/overviews/formula.js | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/cartodb/models/dataview/formula.js b/lib/cartodb/models/dataview/formula.js index 50869762..7ec356b7 100644 --- a/lib/cartodb/models/dataview/formula.js +++ b/lib/cartodb/models/dataview/formula.js @@ -41,7 +41,7 @@ var TYPE = 'formula'; } } */ -function Formula(query, options) { +function Formula(query, options, queries) { if (!_.isString(options.operation)) { throw new Error('Formula expects `operation` in widget options'); } @@ -57,6 +57,7 @@ function Formula(query, options) { BaseWidget.apply(this); this.query = query; + this.queries = queries; this.column = options.column || '1'; this.operation = options.operation; this._isFloatColumn = null; @@ -77,7 +78,7 @@ Formula.prototype.sql = function(psql, override, callback) { if (this._isFloatColumn === null) { this._isFloatColumn = false; - this.getColumnType(psql, this.column, this.query, function (err, type) { + this.getColumnType(psql, this.column, this.queries.no_filters, function (err, type) { if (!err && !!type) { self._isFloatColumn = type.float; } diff --git a/lib/cartodb/models/dataview/overviews/formula.js b/lib/cartodb/models/dataview/overviews/formula.js index a30bc783..64d612c9 100644 --- a/lib/cartodb/models/dataview/overviews/formula.js +++ b/lib/cartodb/models/dataview/overviews/formula.js @@ -55,6 +55,7 @@ function Formula(query, options, queryRewriter, queryRewriteData, params, querie this.column = options.column || '1'; this.operation = options.operation; this._isFloatColumn = null; + this.queries = queries; } Formula.prototype = Object.create(BaseOverviewsDataview.prototype); @@ -70,7 +71,7 @@ Formula.prototype.sql = function (psql, override, callback) { // supported formula for use with overviews if (this._isFloatColumn === null) { this._isFloatColumn = false; - this.getColumnType(psql, this.column, this.query, function (err, type) { + this.getColumnType(psql, this.column, this.queries.no_filters, function (err, type) { if (!err && !!type) { self._isFloatColumn = type.float; }