From e2ab48bee2630050a8636776ebe069238c4fe398 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Thu, 14 Sep 2017 15:22:58 +0200 Subject: [PATCH] Remove prefix to context's properties --- lib/cartodb/models/dataview/aggregation.js | 40 ++++++++++++---------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/lib/cartodb/models/dataview/aggregation.js b/lib/cartodb/models/dataview/aggregation.js index 6f87aba1..575c7202 100644 --- a/lib/cartodb/models/dataview/aggregation.js +++ b/lib/cartodb/models/dataview/aggregation.js @@ -273,20 +273,20 @@ Aggregation.prototype.format = function(result) { const filterCategoriesQueryTpl = ctx => ` SELECT - ${ctx._column} AS category, - ${ctx._value} AS value - FROM (${ctx._query}) _cdb_aggregation_search - WHERE CAST(${ctx._column} as text) ILIKE ${ctx._userQuery} - GROUP BY ${ctx._column} + ${ctx.column} AS category, + ${ctx.value} AS value + FROM (${ctx.query}) _cdb_aggregation_search + WHERE CAST(${ctx.column} as text) ILIKE ${ctx.userQuery} + GROUP BY ${ctx.column} `; const searchQueryTpl = ctx => ` WITH search_unfiltered AS ( - ${ctx._searchUnfiltered} + ${ctx.searchUnfiltered} ), search_filtered AS ( - ${ctx._searchFiltered} + ${ctx.searchFiltered} ), search_union AS ( SELECT * FROM search_unfiltered @@ -302,26 +302,28 @@ const searchQueryTpl = ctx => ` Aggregation.prototype.search = function(psql, userQuery, callback) { var self = this; - var _userQuery = psql.escapeLiteral('%' + userQuery + '%'); - var _value = this.aggregation !== 'count' && this.aggregationColumn ? + var escapedUserQuery = psql.escapeLiteral('%' + userQuery + '%'); + var value = this.aggregation !== 'count' && this.aggregationColumn ? this.aggregation + '(' + this.aggregationColumn + ')' : 'count(1)'; // TODO unfiltered will be wrong as filters are already applied at this point var query = searchQueryTpl({ - _searchUnfiltered: filterCategoriesQueryTpl({ - _query: this.query, - _column: this.column, - _value: '0', - _userQuery: _userQuery + searchUnfiltered: filterCategoriesQueryTpl({ + query: this.query, + column: this.column, + value: '0', + userQuery: escapedUserQuery }), - _searchFiltered: filterCategoriesQueryTpl({ - _query: this.query, - _column: this.column, - _value: _value, - _userQuery: _userQuery + searchFiltered: filterCategoriesQueryTpl({ + query: this.query, + column: this.column, + value: value, + userQuery: escapedUserQuery }) }); + debug(query); + psql.query(query, function(err, result) { if (err) { return callback(err, result);