diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ac7613f754..9564f1d932d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ **Enhancements** - [Issue #1297](https://github.com/grafana/grafana/issues/1297). Graphite: Added cumulative and minimumBelow graphite functions +- [Issue #1296](https://github.com/grafana/grafana/issues/1296). InfluxDB: Auto escape column names with special characters. Thanks @steven-aerts # 1.9.1 (2014-12-29) diff --git a/src/app/features/influxdb/datasource.js b/src/app/features/influxdb/datasource.js index dc542ec3cfd..3de499ff40e 100644 --- a/src/app/features/influxdb/datasource.js +++ b/src/app/features/influxdb/datasource.js @@ -74,16 +74,19 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) { }; InfluxDatasource.prototype.listColumns = function(seriesName) { - var interpolated = templateSrv.replace(seriesName); - if (interpolated[0] !== '/') { - interpolated = '/' + interpolated + '/'; + seriesName = templateSrv.replace(seriesName); + + if(!seriesName.match('^/.*/') && !seriesName.match(/^merge\(.*\)/)) { + seriesName = '"' + seriesName+ '"'; } - return this._seriesQuery('select * from ' + interpolated + ' limit 1').then(function(data) { + return this._seriesQuery('select * from ' + seriesName + ' limit 1').then(function(data) { if (!data) { return []; } - return data[0].columns; + return data[0].columns.map(function(item) { + return /^\w+$/.test(item) ? item : ('"' + item + '"'); + }); }); }; @@ -97,17 +100,9 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) { if (!data || data.length === 0) { return []; } - // influxdb >= 1.8 - if (data[0].points.length > 0) { - return _.map(data[0].points, function(point) { - return point[1]; - }); - } - else { // influxdb <= 1.7 - return _.map(data, function(series) { - return series.name; // influxdb < 1.7 - }); - } + return _.map(data[0].points, function(point) { + return point[1]; + }); }); }; diff --git a/src/app/features/influxdb/queryCtrl.js b/src/app/features/influxdb/queryCtrl.js index 0d33445117b..89bd572f4e5 100644 --- a/src/app/features/influxdb/queryCtrl.js +++ b/src/app/features/influxdb/queryCtrl.js @@ -88,7 +88,6 @@ function (angular, _) { seriesList = []; $scope.datasource.listSeries(query).then(function(series) { seriesList = series; - console.log(series); callback(seriesList); }); }