From 89a7c2c686854790f5306ab6de7f7aa48a55643b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Tue, 11 Apr 2017 15:05:30 +0200 Subject: [PATCH] influxdb: validate database exist when saving data source, fixes #7864 --- public/app/core/components/query_part/query_part.ts | 2 -- public/app/plugins/datasource/influxdb/datasource.ts | 11 ++++++++++- public/app/plugins/datasource/influxdb/query_part.ts | 1 - 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/public/app/core/components/query_part/query_part.ts b/public/app/core/components/query_part/query_part.ts index cf6780ac182..00538102fb2 100644 --- a/public/app/core/components/query_part/query_part.ts +++ b/public/app/core/components/query_part/query_part.ts @@ -119,5 +119,3 @@ export function identityRenderer(part, innerExpr) { export function quotedIdentityRenderer(part, innerExpr) { return '"' + part.params[0] + '"'; } - - diff --git a/public/app/plugins/datasource/influxdb/datasource.ts b/public/app/plugins/datasource/influxdb/datasource.ts index dc6aaaf7a03..98c7ba87bd2 100644 --- a/public/app/plugins/datasource/influxdb/datasource.ts +++ b/public/app/plugins/datasource/influxdb/datasource.ts @@ -193,8 +193,17 @@ export default class InfluxDatasource { } testDatasource() { - return this.metricFindQuery('SHOW MEASUREMENTS LIMIT 1').then(() => { + return this.metricFindQuery('SHOW DATABASES').then(res => { + let found = _.find(res, {text: this.database}); + if (!found) { + return { status: "error", message: "Could not find the specified database name.", title: "DB Not found" }; + } return { status: "success", message: "Data source is working", title: "Success" }; + }).catch(err => { + if (err.data && err.message) { + return { status: "error", message: err.data.message, title: "InfluxDB Error" }; + } + return { status: "error", message: err.toString(), title: "InfluxDB Error" }; }); } diff --git a/public/app/plugins/datasource/influxdb/query_part.ts b/public/app/plugins/datasource/influxdb/query_part.ts index 6b55b19f4d2..20274ccc580 100644 --- a/public/app/plugins/datasource/influxdb/query_part.ts +++ b/public/app/plugins/datasource/influxdb/query_part.ts @@ -292,7 +292,6 @@ register({ renderer: functionRenderer, }); -debugger; register({ type: 'holt_winters_with_fit', addStrategy: addTransformationStrategy,