Remove limitation in the query
This commit is contained in:
@@ -15,6 +15,7 @@ import { VisualEditor } from './visual-query-builder/VisualEditor';
|
|||||||
|
|
||||||
interface SqlQueryEditorProps extends QueryEditorProps<SqlDatasource, SQLQuery, SQLOptions> {
|
interface SqlQueryEditorProps extends QueryEditorProps<SqlDatasource, SQLQuery, SQLOptions> {
|
||||||
queryHeaderProps?: Pick<QueryHeaderProps, 'isPostgresInstance'>;
|
queryHeaderProps?: Pick<QueryHeaderProps, 'isPostgresInstance'>;
|
||||||
|
overrideQueryDefaults?: Partial<SQLQuery>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function SqlQueryEditor({
|
export function SqlQueryEditor({
|
||||||
@@ -24,6 +25,7 @@ export function SqlQueryEditor({
|
|||||||
onRunQuery,
|
onRunQuery,
|
||||||
range,
|
range,
|
||||||
queryHeaderProps,
|
queryHeaderProps,
|
||||||
|
overrideQueryDefaults,
|
||||||
}: SqlQueryEditorProps) {
|
}: SqlQueryEditorProps) {
|
||||||
const [isQueryRunnable, setIsQueryRunnable] = useState(true);
|
const [isQueryRunnable, setIsQueryRunnable] = useState(true);
|
||||||
const db = datasource.getDB();
|
const db = datasource.getDB();
|
||||||
@@ -38,7 +40,7 @@ export function SqlQueryEditor({
|
|||||||
};
|
};
|
||||||
}, [datasource]);
|
}, [datasource]);
|
||||||
|
|
||||||
const queryWithDefaults = applyQueryDefaults(query);
|
const queryWithDefaults = applyQueryDefaults(query, overrideQueryDefaults);
|
||||||
const [queryRowFilter, setQueryRowFilter] = useState<QueryRowFilter>({
|
const [queryRowFilter, setQueryRowFilter] = useState<QueryRowFilter>({
|
||||||
filter: !!queryWithDefaults.sql?.whereString,
|
filter: !!queryWithDefaults.sql?.whereString,
|
||||||
group: !!queryWithDefaults.sql?.groupBy?.[0]?.property.name,
|
group: !!queryWithDefaults.sql?.groupBy?.[0]?.property.name,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { EditorMode } from '@grafana/experimental';
|
|||||||
import { QueryFormat, SQLQuery } from './types';
|
import { QueryFormat, SQLQuery } from './types';
|
||||||
import { createFunctionField, setGroupByField } from './utils/sql.utils';
|
import { createFunctionField, setGroupByField } from './utils/sql.utils';
|
||||||
|
|
||||||
export function applyQueryDefaults(q?: SQLQuery): SQLQuery {
|
export function applyQueryDefaults(q?: SQLQuery, override: Partial<SQLQuery> = { sql: {} }): SQLQuery {
|
||||||
let editorMode = q?.editorMode || EditorMode.Builder;
|
let editorMode = q?.editorMode || EditorMode.Builder;
|
||||||
|
|
||||||
// Switching to code editor if the query was created before visual query builder was introduced.
|
// 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,
|
format: q?.format !== undefined ? q.format : QueryFormat.Table,
|
||||||
rawSql: q?.rawSql || '',
|
rawSql: q?.rawSql || '',
|
||||||
editorMode,
|
editorMode,
|
||||||
|
...override,
|
||||||
sql: q?.sql ?? {
|
sql: q?.sql ?? {
|
||||||
columns: [createFunctionField()],
|
columns: [createFunctionField()],
|
||||||
groupBy: [setGroupByField()],
|
groupBy: [setGroupByField()],
|
||||||
limit: 50,
|
limit: 50,
|
||||||
|
...override?.sql,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ class UnthemedSQLQueryEditor extends PureComponent<Props> {
|
|||||||
query={this.transformQuery(query)}
|
query={this.transformQuery(query)}
|
||||||
onRunQuery={onRunSQLQuery}
|
onRunQuery={onRunSQLQuery}
|
||||||
onChange={onSQLChange}
|
onChange={onSQLChange}
|
||||||
|
overrideQueryDefaults={{ sql: { limit: undefined } }}
|
||||||
/>
|
/>
|
||||||
<div className={cx('gf-form-inline', styles.editorActions)}>
|
<div className={cx('gf-form-inline', styles.editorActions)}>
|
||||||
<LinkButton
|
<LinkButton
|
||||||
|
|||||||
Reference in New Issue
Block a user