Unify stripQuotes
This commit is contained in:
parent
f545b4d002
commit
6eb66de94e
@ -7,6 +7,7 @@ const AggregationMapConfig = require('../models/aggregation/aggregation-mapconfi
|
|||||||
|
|
||||||
const WebMercatorHelper = require('cartodb-query-tables').utils.webMercatorHelper;
|
const WebMercatorHelper = require('cartodb-query-tables').utils.webMercatorHelper;
|
||||||
const webmercator = new WebMercatorHelper();
|
const webmercator = new WebMercatorHelper();
|
||||||
|
const queryUtils = require('../../lib/utils/query-utils');
|
||||||
|
|
||||||
module.exports = class ClusterBackend {
|
module.exports = class ClusterBackend {
|
||||||
getClusterFeatures (mapConfigProvider, params, callback) {
|
getClusterFeatures (mapConfigProvider, params, callback) {
|
||||||
@ -75,15 +76,6 @@ const SKIP_COLUMNS = {
|
|||||||
the_geom_webmercator: true
|
the_geom_webmercator: true
|
||||||
};
|
};
|
||||||
|
|
||||||
function stripQuotes(columnName) {
|
|
||||||
const quotedName = columnName.length > 2 && columnName[0] === '"' && columnName[columnName.length - 1] === '"';
|
|
||||||
if (quotedName)
|
|
||||||
{
|
|
||||||
return columnName.substring(1, columnName.length - 1);
|
|
||||||
}
|
|
||||||
return columnName;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getColumnsName (pg, query, callback) {
|
function getColumnsName (pg, query, callback) {
|
||||||
const sql = schemaQuery({
|
const sql = schemaQuery({
|
||||||
query: query
|
query: query
|
||||||
@ -98,7 +90,7 @@ function getColumnsName (pg, query, callback) {
|
|||||||
|
|
||||||
const fields = resultSet.fields || [];
|
const fields = resultSet.fields || [];
|
||||||
const columnNames = fields.map(field => field.name)
|
const columnNames = fields.map(field => field.name)
|
||||||
.filter(columnName => !SKIP_COLUMNS[stripQuotes(columnName)]);
|
.filter(columnName => !SKIP_COLUMNS[queryUtils.stripQuotes(columnName)]);
|
||||||
|
|
||||||
return callback(null, columnNames);
|
return callback(null, columnNames);
|
||||||
}, true);
|
}, true);
|
||||||
|
@ -4,6 +4,7 @@ var queue = require('queue-async');
|
|||||||
var debug = require('debug')('windshaft:analysis');
|
var debug = require('debug')('windshaft:analysis');
|
||||||
|
|
||||||
var camshaft = require('camshaft');
|
var camshaft = require('camshaft');
|
||||||
|
const queryUtils = require('../../../../lib/utils/query-utils');
|
||||||
var dot = require('dot');
|
var dot = require('dot');
|
||||||
dot.templateSettings.strip = false;
|
dot.templateSettings.strip = false;
|
||||||
|
|
||||||
@ -179,16 +180,6 @@ AnalysisMapConfigAdapter.prototype.getMapConfig = function (user, requestMapConf
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
function stripQuotes(columnName) {
|
|
||||||
const quotedName = columnName.length > 2 && columnName[0] === '"' && columnName[columnName.length - 1] === '"';
|
|
||||||
if (quotedName)
|
|
||||||
{
|
|
||||||
return columnName.substring(1, columnName.length - 1);
|
|
||||||
}
|
|
||||||
return columnName;
|
|
||||||
}
|
|
||||||
|
|
||||||
var SKIP_COLUMNS = {
|
var SKIP_COLUMNS = {
|
||||||
the_geom: true,
|
the_geom: true,
|
||||||
the_geom_webmercator: true
|
the_geom_webmercator: true
|
||||||
@ -196,7 +187,7 @@ var SKIP_COLUMNS = {
|
|||||||
|
|
||||||
function skipColumns (columnNames) {
|
function skipColumns (columnNames) {
|
||||||
return columnNames
|
return columnNames
|
||||||
.filter(function (columnName) { return !SKIP_COLUMNS[stripQuotes(columnName)]; });
|
.filter(function (columnName) { return !SKIP_COLUMNS[queryUtils.stripQuotes(columnName)]; });
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrappedQueryTpl = dot.template([
|
var wrappedQueryTpl = dot.template([
|
||||||
|
@ -134,6 +134,19 @@ function substituteTokensForZoom (sql, zoom) {
|
|||||||
return SubstitutionTokens.replaceXYZ(sql, { z: zoom, bbox: bbox });
|
return SubstitutionTokens.replaceXYZ(sql, { z: zoom, bbox: bbox });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Strips leading and trailing quotes (") from a string
|
||||||
|
* @param {String} columnName, e.g. ("cartodb_id")
|
||||||
|
* @returns {String}, e.g. (cartodb_id)
|
||||||
|
*/
|
||||||
|
module.exports.stripQuotes = function (columnName) {
|
||||||
|
const quotedName = columnName.length > 2 && columnName[0] === '"' && columnName[columnName.length - 1] === '"';
|
||||||
|
if (quotedName) {
|
||||||
|
return columnName.substring(1, columnName.length - 1);
|
||||||
|
}
|
||||||
|
return columnName;
|
||||||
|
};
|
||||||
|
|
||||||
module.exports.queryPromise = queryPromise;
|
module.exports.queryPromise = queryPromise;
|
||||||
module.exports.getQueryLimited = getQueryLimited;
|
module.exports.getQueryLimited = getQueryLimited;
|
||||||
module.exports.substituteDummyTokens = substituteDummyTokens;
|
module.exports.substituteDummyTokens = substituteDummyTokens;
|
||||||
|
Loading…
Reference in New Issue
Block a user