From 4570d17ce1e7912d3c8701e5cd9f82dbdece8dd9 Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Tue, 10 May 2016 17:09:36 +0200 Subject: [PATCH] Use original query from source nodes Doing a st_transform doesn't make sense as we already should have the_geom_webmercator column available --- lib/cartodb/models/analysis-mapconfig-adapter.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/cartodb/models/analysis-mapconfig-adapter.js b/lib/cartodb/models/analysis-mapconfig-adapter.js index 2897114b..6d54a3af 100644 --- a/lib/cartodb/models/analysis-mapconfig-adapter.js +++ b/lib/cartodb/models/analysis-mapconfig-adapter.js @@ -26,9 +26,12 @@ var layerQueryTemplate = dot.template([ 'FROM ({{=it._query}}) _cdb_analysis_query' ].join('\n')); -function layerQuery(query, columnNames) { - var _columns = ['ST_Transform(the_geom, 3857) the_geom_webmercator'].concat(skipColumns(columnNames)); - return layerQueryTemplate({ _query: query, _columns: _columns.join(', ') }); +function layerQuery(node) { + if (node.type === 'source') { + return node.getQuery(); + } + var _columns = ['ST_Transform(the_geom, 3857) the_geom_webmercator'].concat(skipColumns(node.getColumns())); + return layerQueryTemplate({ _query: node.getQuery(), _columns: _columns.join(', ') }); } function appendFiltersToNodes(requestMapConfig, dataviewsFiltersBySourceId) { @@ -139,7 +142,7 @@ AnalysisMapConfigAdapter.prototype.getMapConfig = function(analysisConfiguration var layerSourceId = getLayerSourceId(layer); var layerNode = sourceId2Node[layerSourceId]; if (layerNode) { - var analysisSql = layerQuery(layerNode.getQuery(), layerNode.getColumns()); + var analysisSql = layerQuery(layerNode); var sqlQueryWrap = layer.options.sql_wrap; if (sqlQueryWrap) { analysisSql = sqlQueryWrap.replace(/<%=\s*sql\s*%>/g, analysisSql);