Going green: do not fail when source is empty

This commit is contained in:
Daniel García Aubert
2019-09-02 14:09:13 +02:00
parent 5a01c1c5eb
commit 2fbd9893bd
2 changed files with 7 additions and 7 deletions
@@ -139,6 +139,11 @@ function _sample(ctx) {
return queryUtils.queryPromise(ctx.dbConnection, sqlMaxMin)
.then(maxMinRes => {
const { min_id: min, id_span: span } = maxMinRes.rows[0];
if (!min || !span) {
return { rows: {} };
}
const values = _getSampleValuesFromRange(min, span, limit);
const sqlSample = _getSQL(ctx, sql => queryUtils.getSampleFromIdsQuery(sql, values, columns));
@@ -596,8 +596,7 @@ describe(`[${desc}] Create mapnik layergroup`, function() {
"metadata": {
"sample": {
"num_rows": 30
},
"sql": "select * from test_table_100 limit 0"
}
}
}
}
@@ -606,11 +605,7 @@ describe(`[${desc}] Create mapnik layergroup`, function() {
testClient.getLayergroup(function(err, layergroup) {
assert.ifError(err);
assert.equal(layergroup.metadata.layers[0].id, mapnikBasicLayerId(0));
assert.equal(layergroup.metadata.layers[0].meta.stats.estimatedFeatureCount, 100);
assert(layergroup.metadata.layers[0].meta.stats.sample.length > 0);
const expectedCols = [ 'cartodb_id', 'value', 'the_geom', 'the_geom_webmercator' ].sort();
assert.deepEqual(Object.keys(layergroup.metadata.layers[0].meta.stats.sample[0]).sort(), expectedCols);
assert.deepStrictEqual(layergroup.metadata.layers[0].meta.stats.sample, {});
testClient.drain(done);
});
});