Special case mixed datasources... :/

This commit is contained in:
Ashley Harrison
2022-01-17 15:47:33 +00:00
parent bd9df4f829
commit dd0e3ea4a8
3 changed files with 6 additions and 3 deletions
@@ -149,7 +149,7 @@ const getDataSourceSettings = (
query: DataQuery, query: DataQuery,
groupSettings: DataSourceInstanceSettings groupSettings: DataSourceInstanceSettings
): DataSourceInstanceSettings => { ): DataSourceInstanceSettings => {
if (!query.datasource) { if (!query.datasource && !groupSettings.meta.mixed) {
return groupSettings; return groupSettings;
} }
const querySettings = getDataSourceSrv().getInstanceSettings(query.datasource); const querySettings = getDataSourceSrv().getInstanceSettings(query.datasource);
@@ -92,7 +92,9 @@ function describeQueryRunnerScenario(
], ],
}; };
setDataSourceSrv({} as any); setDataSourceSrv({
get: jest.fn(),
} as any);
setDashboardQueryRunnerFactory(() => ({ setDashboardQueryRunnerFactory(() => ({
getResult: emptyResult, getResult: emptyResult,
run: () => undefined, run: () => undefined,
@@ -230,11 +230,12 @@ export class PanelQueryRunner {
try { try {
const ds = await getDataSource(datasource, request.scopedVars); const ds = await getDataSource(datasource, request.scopedVars);
const defaultDatasource = await getDataSource(null, request.scopedVars);
// Attach the data source name to each query // Attach the data source name to each query
request.targets = request.targets.map((query) => { request.targets = request.targets.map((query) => {
if (!query.datasource) { if (!query.datasource) {
query.datasource = ds.getRef(); query.datasource = ds.meta?.mixed ? defaultDatasource.getRef() : ds.getRef();
} }
return query; return query;
}); });