diff --git a/public/app/features/plugins/sql/components/QueryEditor.tsx b/public/app/features/plugins/sql/components/QueryEditor.tsx index 00427b35276..2d3b5657ae2 100644 --- a/public/app/features/plugins/sql/components/QueryEditor.tsx +++ b/public/app/features/plugins/sql/components/QueryEditor.tsx @@ -15,6 +15,7 @@ import { VisualEditor } from './visual-query-builder/VisualEditor'; interface SqlQueryEditorProps extends QueryEditorProps { queryHeaderProps?: Pick; + overrideQueryDefaults?: Partial; } export function SqlQueryEditor({ @@ -24,6 +25,7 @@ export function SqlQueryEditor({ onRunQuery, range, queryHeaderProps, + overrideQueryDefaults, }: SqlQueryEditorProps) { const [isQueryRunnable, setIsQueryRunnable] = useState(true); const db = datasource.getDB(); @@ -38,7 +40,7 @@ export function SqlQueryEditor({ }; }, [datasource]); - const queryWithDefaults = applyQueryDefaults(query); + const queryWithDefaults = applyQueryDefaults(query, overrideQueryDefaults); const [queryRowFilter, setQueryRowFilter] = useState({ filter: !!queryWithDefaults.sql?.whereString, group: !!queryWithDefaults.sql?.groupBy?.[0]?.property.name, diff --git a/public/app/features/plugins/sql/defaults.ts b/public/app/features/plugins/sql/defaults.ts index 4532bdcc3a6..1e161c3ef49 100644 --- a/public/app/features/plugins/sql/defaults.ts +++ b/public/app/features/plugins/sql/defaults.ts @@ -3,7 +3,7 @@ import { EditorMode } from '@grafana/experimental'; import { QueryFormat, SQLQuery } from './types'; import { createFunctionField, setGroupByField } from './utils/sql.utils'; -export function applyQueryDefaults(q?: SQLQuery): SQLQuery { +export function applyQueryDefaults(q?: SQLQuery, override: Partial = { sql: {} }): SQLQuery { let editorMode = q?.editorMode || EditorMode.Builder; // Switching to code editor if the query was created before visual query builder was introduced. @@ -17,10 +17,12 @@ export function applyQueryDefaults(q?: SQLQuery): SQLQuery { format: q?.format !== undefined ? q.format : QueryFormat.Table, rawSql: q?.rawSql || '', editorMode, + ...override, sql: q?.sql ?? { columns: [createFunctionField()], groupBy: [setGroupByField()], limit: 50, + ...override?.sql, }, }; diff --git a/public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx b/public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx index 041e5933bd8..2d0b81ed574 100644 --- a/public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx +++ b/public/app/plugins/datasource/influxdb/components/editor/query/fsql/FSQLEditor.tsx @@ -90,6 +90,7 @@ class UnthemedSQLQueryEditor extends PureComponent { query={this.transformQuery(query)} onRunQuery={onRunSQLQuery} onChange={onSQLChange} + overrideQueryDefaults={{ sql: { limit: undefined } }} />