From 0c9e3abc5206ac67b05a8b3309fd1fa3c05b536e Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Mon, 14 Nov 2022 09:53:14 -0500 Subject: [PATCH] [v9.2.x] SQL: Fix issue where testing the datasource would always be successful if the `datasourceQueryMultiStatus` feature was enabled (#58685) SQL: Fix issue where testing the datasource would always be successful if the `datasourceQueryMultiStatus` feature was enabled (#58671) SQL Datasources: fix issue where testing the datasource connection would show success even when there was an error. Co-authored-by: Victor Marin (cherry picked from commit 75e435fb00942483c421d052066225b9f5fe9ce4) Co-authored-by: Oscar Kilhed --- .../plugins/sql/datasource/SqlDatasource.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/public/app/features/plugins/sql/datasource/SqlDatasource.ts b/public/app/features/plugins/sql/datasource/SqlDatasource.ts index 51e6ca159f9..a26a4543749 100644 --- a/public/app/features/plugins/sql/datasource/SqlDatasource.ts +++ b/public/app/features/plugins/sql/datasource/SqlDatasource.ts @@ -160,9 +160,10 @@ export abstract class SqlDatasource extends DataSourceWithBackend { + const refId = 'A'; return lastValueFrom( getBackendSrv() - .fetch({ + .fetch({ url: '/api/ds/query', method: 'POST', data: { @@ -170,7 +171,7 @@ export abstract class SqlDatasource extends DataSourceWithBackend ({ status: 'success', message: 'Database Connection OK' })), + map((r) => { + const error = r.data.results[refId].error; + if (error) { + return { status: 'error', message: error }; + } + return { status: 'success', message: 'Database Connection OK' }; + }), catchError((err) => { return of(toTestingStatus(err)); })