From 75645e2d7af3dcc2b9ca79a6197381c40cad156d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Wed, 13 Sep 2017 19:34:09 +0200 Subject: [PATCH] Use string templates to build categories CTE sql --- lib/cartodb/models/dataview/aggregation.js | 28 ++++++++++------------ 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/lib/cartodb/models/dataview/aggregation.js b/lib/cartodb/models/dataview/aggregation.js index 71394211..43dff8c0 100644 --- a/lib/cartodb/models/dataview/aggregation.js +++ b/lib/cartodb/models/dataview/aggregation.js @@ -251,37 +251,35 @@ Aggregation.prototype.sql = function(psql, override, callback) { }; Aggregation.prototype.getCategoriesCTESql = function(query, column, aggregation, aggregationColumn, isFloatColumn) { - return [ - "WITH", - [ - filteredQueryTpl({ + return ` + WITH + ${filteredQueryTpl({ _isFloatColumn: isFloatColumn, _query: this.query, _column: this.column, _aggregationColumn: aggregation !== 'count' ? aggregationColumn : null - }), - summaryQueryTpl({ + })}, + ${summaryQueryTpl({ _isFloatColumn: isFloatColumn, _query: query, _column: column, _aggregationColumn: aggregation !== 'count' ? aggregationColumn : null - }), - rankedCategoriesQueryTpl({ + })}, + ${rankedCategoriesQueryTpl({ _query: query, _column: column, _aggregation: this.getAggregationSql(), _aggregationColumn: aggregation !== 'count' ? aggregationColumn : null - }), - categoriesSummaryMinMaxQueryTpl({ + })}, + ${categoriesSummaryMinMaxQueryTpl({ _query: query, _column: column - }), - categoriesSummaryCountQueryTpl({ + })}, + ${categoriesSummaryCountQueryTpl({ _query: query, _column: column - }) - ].join(',\n') - ].join('\n'); + })} + `; }; const aggregationFnQueryTpl = ctx => `${ctx._aggregationFn}(${ctx._aggregationColumn})`;