Files
grafana/public/app/features/plugins/sql/defaults.ts
ismail simsek d333c09418 InfluxDB: SQL Query Editor (#72168)
* Add influxdbSqlSupport feature toggle

* Add SQL option to the config page

* Add SQL backend

* Add metadata support in config page

* Implement unified querying

* Fix healthcheck query

* fsql tests

* secure grpc by default

* code cleanup

* Query handing for sql mode

* Implement a placeholder sql editor

* Fix query language dropdown

* drop in SQL editor

* switch to use rawSql, get sql editor working

* fix healthcheck

* WIP

* memoize component to stop unwanted rerender onQuery

* dont reinit datasource on each render of the editor

* remove useless memo

* clean up

* Fix the link

* Alpha state warning

* Remove console.logs

* update model for fsql

* remove unused

---------

Co-authored-by: Galen <galen.kistler@grafana.com>
2023-08-02 19:04:16 +02:00

31 lines
895 B
TypeScript

import { EditorMode } from '@grafana/experimental';
import { QueryFormat, SQLQuery } from './types';
import { createFunctionField, setGroupByField } from './utils/sql.utils';
export function applyQueryDefaults(q?: SQLQuery): SQLQuery {
let editorMode = q?.editorMode || EditorMode.Builder;
// Switching to code editor if the query was created before visual query builder was introduced.
if (q?.editorMode === undefined && q?.rawSql !== undefined) {
editorMode = EditorMode.Code;
}
const result: SQLQuery = {
...q,
refId: q?.refId || 'A',
format: q?.format !== undefined ? q.format : QueryFormat.Table,
rawSql: q?.rawSql || '',
editorMode,
sql: q?.sql ?? {
columns: [createFunctionField()],
groupBy: [setGroupByField()],
limit: 50,
},
};
return result;
}
export type QueryWithDefaults = ReturnType<typeof applyQueryDefaults>;