* Fix SQL query variable throwing error if query returns no data
* Tests to verify that metricFindQuery returns properly and doesn't throw error
* Fix all codepaths that might throw errors because of undefined backendSrv response
* Update scenes to latest
* Replace FormatRegistryID with VariableFormatID
* Remove scene demos that were moved to scenes repo, fix the remaining demos
* Fix grafana Monitoring app
* DashboardsLoader migration
* Fix test
* SQL: toRawSQL required and escape table
* Fix autocomplete for MySQL
* Change the way we escape for builder
* Rework escape ident to be smart instead
* Fix A11y for alias
* Add first e2e test
* Add test for code editor
* Add doc
* Review comments
* Move functions to sqlUtil
* SQL Datasources: Use health check for config test
* Remove unnecessary test
* Fix test errors
* Revert mysql go driver update
* Use transform query error
* Use TransformQueryError from sql_engine
* Datasource settings: Add deprecation notice for database field
* SQL Datasources: Migrate from settings.database to settings.jsonData.database
* Check jsonData first
* Remove comment from docs
- Migrate Postgres query editor to react
- Add support for field aliasing in SELECT clauses to SQL based datasources
Co-authored-by: Kyle Cunningham <kyle@codeincarnate.com>
Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
* Fix: sql plugins feature
* SQLDS: Use builtin annotation editor
Plus strict rule fixes
* MSSQL: Migrate query editor to React
* Make code editor work
* Make SQLOptions and SQLQuery in SQLDatasource and in Editor generic
* MSSQL: Fix ts issues
* Fix SQLDatasource refID
* Remove comment
* Revert "Make SQLOptions and SQLQuery in SQLDatasource and in Editor generic"
This reverts commit 1d15b4061a.
* Fix ts issues without generic
* TS
* improve performance of transformMetricFindResponse
* use lodash uniqBy for postgres
* use lodash uniqBy for mysql
* use lodash uniqBy for mssql
* hopefully conform to import linting rules
* Added .betterer.results
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Victor Marin <victor.marin@grafana.com>
* PanelEdit: Change the meaning of default data source to be just that the default for new panels
* Added migration, and also migration for annotation datasource prop to data source refs
* fix
* Fixing tests
* Fixes to annotation
* Fixing unit test
* add basic test for buildSchemaConstraint function
* wrap table schema in quote_ident function
* fix type error in meta_query.test
* swap test for inline comment
* make comment more readable
* add timescaleDB checker function
* use existing fn findAggregateIndex
* build options from empty list
* refactor fn and handle state for existing elem
* remove newline
* Fix postgres QE a11y label issue
* Add aria-label to query-editor
* Remove unecessary element ID.
* Use aria-labeledby instead of aria-label
* Prefer aria-labelby with dynamic ids
* Prefer "for" over aria-labeledby
* Prefer "for" over aria-labeledby for MSSQL QE
* Plugins: Change the PostgreSQL plugin to include more column types in Query Builder metaquery
Originally, the metaquery used in the PostgreSQL plugin to populate the
column dropdown menu in the Query Builder UI only included integer- and real-typed
columns. This change expands the list of acceptable types for plotting to
include numeric columns, boolean columns, and textual columns, as all are
types that could feasibly be desired to plot in a panel.
* Update types tracked in meta query builder
Removed the `boolean` and `text` types, but retained addition of `numeric` type as part of time series query builder.
* Postgres: For template queries return [] and not error
* remove the console error
* update mssql and mysql
Co-authored-by: Ying WANG <ying.wang@grafana.com>
* Improve error handling for error messages
The error message will be read from error object from the following properties in the following order:
- message
- data.message
- statusText
* Convert api/ds/query errors to TestingStatus
SQL datasources (mysql, mssql, postgres) and CloudWatch use api/ds/query to test the data source, but previously didn't handle errors returned by this endpoint. If the error cannot be handled it's re-thrown to be handled in public/app/features/datasources/state/actions.ts
* Use async/await instead of Promises
* Remove incorrect type import
TestingStatus is in app/types. Should be pulled down to grafana/data but it depends on HealthCheckResultDetails that is public and lives in grafana/runtime. Ideally TestingStatus should live in grafana/data but I'm not sure if HealthCheckResultDetails can be move there too (?)
* Update packages/grafana-data/src/types/datasource.ts
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
* Handle errors with no details in toTestingStatus instead of re-throwing
* Update packages/grafana-data/src/types/datasource.ts
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: Erik Sundell <erik.sundell@grafana.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
* fix sql annotation parsing for empty responses
* fix backend when no data returned
* add back frontend changes
Co-authored-by: Ying WANG <ying.wang@grafana.com>