From 8ef260972d2f0197e2b72689c62e0f49b242498b Mon Sep 17 00:00:00 2001 From: Eneko Lakasta Date: Wed, 29 Aug 2018 13:50:21 +0200 Subject: [PATCH] add to log when overviews are being used in dataviews --- lib/cartodb/backends/dataview.js | 8 +++++++- lib/cartodb/models/dataview/base.js | 5 +++-- lib/cartodb/models/dataview/overviews/aggregation.js | 2 +- lib/cartodb/models/dataview/overviews/formula.js | 2 +- lib/cartodb/models/dataview/overviews/histogram.js | 2 +- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/cartodb/backends/dataview.js b/lib/cartodb/backends/dataview.js index a2f5327a..4f50121f 100644 --- a/lib/cartodb/backends/dataview.js +++ b/lib/cartodb/backends/dataview.js @@ -64,7 +64,13 @@ DataviewBackend.prototype.getDataview = function (mapConfigProvider, user, param return callback(err); } - return callback(null, dataviewResult); + const stats = {}; + + if (dataviewResult && dataviewResult.usesOverviews) { + stats.usesOverviews = dataviewResult.usesOverviews; + } + + return callback(null, dataviewResult, stats); }); }); }; diff --git a/lib/cartodb/models/dataview/base.js b/lib/cartodb/models/dataview/base.js index 80e021b1..13743f5b 100644 --- a/lib/cartodb/models/dataview/base.js +++ b/lib/cartodb/models/dataview/base.js @@ -21,7 +21,7 @@ function getPGTypeName (pgType) { module.exports = class BaseDataview { getResult (psql, override, callback) { - this.sql(psql, override, (err, query) => { + this.sql(psql, override, (err, query, flags = { usesOverviews : false }) => { if (err) { return callback(err); } @@ -33,7 +33,8 @@ module.exports = class BaseDataview { result = this.format(result, override); result.type = this.getType(); - + result.usesOverviews = flags.usesOverviews; + return callback(null, result); }, true); // use read-only transaction diff --git a/lib/cartodb/models/dataview/overviews/aggregation.js b/lib/cartodb/models/dataview/overviews/aggregation.js index 5df092f4..312a398e 100644 --- a/lib/cartodb/models/dataview/overviews/aggregation.js +++ b/lib/cartodb/models/dataview/overviews/aggregation.js @@ -209,7 +209,7 @@ Aggregation.prototype.sql = function(psql, override, callback) { debug(aggregationSql); - return callback(null, aggregationSql); + return callback(null, aggregationSql, { usesOverviews: true }); }; var aggregationFnQueryTpl = { diff --git a/lib/cartodb/models/dataview/overviews/formula.js b/lib/cartodb/models/dataview/overviews/formula.js index 2a97061e..dd487ccb 100644 --- a/lib/cartodb/models/dataview/overviews/formula.js +++ b/lib/cartodb/models/dataview/overviews/formula.js @@ -74,5 +74,5 @@ Formula.prototype.sql = function (psql, override, callback) { debug(formulaSql); - return callback(null, formulaSql); + return callback(null, formulaSql, { usesOverviews: true }); }; diff --git a/lib/cartodb/models/dataview/overviews/histogram.js b/lib/cartodb/models/dataview/overviews/histogram.js index 6674f6a0..cc7e7342 100644 --- a/lib/cartodb/models/dataview/overviews/histogram.js +++ b/lib/cartodb/models/dataview/overviews/histogram.js @@ -178,7 +178,7 @@ Histogram.prototype.sql = function(psql, override, callback) { var histogramSql = this._buildQuery(override); - return callback(null, histogramSql); + return callback(null, histogramSql, { usesOverviews: true }); }; Histogram.prototype._buildQuery = function (override) {