Merge pull request #1020 from CartoDB/spaces-in-columns

Fix spaces in columns
This commit is contained in:
Jesús Arroyo Torrens
2018-08-20 17:56:48 +02:00
committed by GitHub
5 changed files with 27 additions and 7 deletions

View File

@@ -28,7 +28,7 @@ DataviewBackend.prototype.getDataview = function (mapConfigProvider, user, param
var dataviewDefinition = getDataviewDefinition(mapConfig.obj(), dataviewName);
if (!dataviewDefinition) {
const error = new Error(`Dataview '${dataviewName}' does not exists`);
const error = new Error(`Dataview '${dataviewName}' does not exist`);
error.type = 'dataview';
error.http_status = 400;
return callback(error);
@@ -157,7 +157,7 @@ DataviewBackend.prototype.search = function (mapConfigProvider, user, dataviewNa
var dataviewDefinition = getDataviewDefinition(mapConfig.obj(), dataviewName);
if (!dataviewDefinition) {
const error = new Error(`Dataview '${dataviewName}' does not exists`);
const error = new Error(`Dataview '${dataviewName}' does not exist`);
error.type = 'dataview';
error.http_status = 400;
return callback(error);

View File

@@ -117,17 +117,19 @@ const dimensionNames = (ctx, table) => {
let dimensions = aggregateDimensions(ctx);
if (table) {
return sep(Object.keys(dimensions).map(
dimension_name => `${table}.${dimension_name}`
dimension_name => `${table}."${dimension_name}"`
));
}
return sep(Object.keys(dimensions));
return sep(Object.keys(dimensions).map(dimension_name => {
return `"${dimension_name}"`;
}));
};
const dimensionDefs = ctx => {
let dimensions = aggregateDimensions(ctx);
return sep(Object.keys(dimensions).map(dimension_name => {
const expression = dimensions[dimension_name];
return `${expression} AS ${dimension_name}`;
return `"${expression}" AS "${dimension_name}"`;
}));
};

View File

@@ -14,7 +14,7 @@ const DATE_OIDS = Object.freeze({
function wrapDates(originalQuery, fields) {
return `
SELECT
${fields.map(field => _isDateType(field) ? _castColumnToEpoch(field.name) : `${field.name}`).join(',')}
${fields.map(field => _isDateType(field) ? _castColumnToEpoch(field.name) : `"${field.name}"`).join(',')}
FROM
(${originalQuery}) _cdb_epoch_transformation `;
}

View File

@@ -96,7 +96,7 @@ describe('health checks', function () {
});
});
it('not err if disabled file does not exists', function(done) {
it('not err if disabled file does not exist', function(done) {
global.environment.disabled_file = '/tmp/ftreftrgtrccre';
var server = new CartodbWindshaft(serverOptions);

View File

@@ -0,0 +1,18 @@
var assert = require('assert');
var dateWrapper = require('../../../../lib/cartodb/utils/date-wrapper');
describe('date-wrapper', function() {
it('should wrap property fields with spaces', function() {
const actual = dateWrapper.wrapDates(
'select * from table',
[{name: 'a'}, {name: 'b c'}]
);
const expected = `
SELECT
"a","b c"
FROM
(select * from table) _cdb_epoch_transformation `;
assert.equal(actual, expected);
});
});