From 29639ff1584f21ce62c062e58c519052647679af Mon Sep 17 00:00:00 2001
From: Aleksandr Lesnenko <alxnddr@users.noreply.github.com>
Date: Thu, 1 Dec 2022 09:35:36 -0300
Subject: [PATCH] allow null dataset query (#26654)

---
 frontend/src/metabase-lib/Question.ts                | 2 +-
 frontend/src/metabase-lib/queries/InternalQuery.ts   | 2 +-
 frontend/src/metabase-lib/queries/NativeQuery.ts     | 2 +-
 frontend/src/metabase-lib/queries/StructuredQuery.ts | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/frontend/src/metabase-lib/Question.ts b/frontend/src/metabase-lib/Question.ts
index ff183471ca5..565cdfaf7b9 100644
--- a/frontend/src/metabase-lib/Question.ts
+++ b/frontend/src/metabase-lib/Question.ts
@@ -194,7 +194,7 @@ class QuestionInner {
       }
     }
 
-    throw new Error("Unknown query type: " + datasetQuery.type);
+    console.warn("Unknown query type: " + datasetQuery?.type);
   }
 
   isNative(): boolean {
diff --git a/frontend/src/metabase-lib/queries/InternalQuery.ts b/frontend/src/metabase-lib/queries/InternalQuery.ts
index 26a6ae71bba..f2c2928680a 100644
--- a/frontend/src/metabase-lib/queries/InternalQuery.ts
+++ b/frontend/src/metabase-lib/queries/InternalQuery.ts
@@ -11,6 +11,6 @@ import AtomicQuery from "metabase-lib/queries/AtomicQuery"; // Internal queries
 
 export default class InternalQuery extends AtomicQuery {
   static isDatasetQueryType(datasetQuery: DatasetQuery) {
-    return datasetQuery.type === "internal";
+    return datasetQuery?.type === "internal";
   }
 }
diff --git a/frontend/src/metabase-lib/queries/NativeQuery.ts b/frontend/src/metabase-lib/queries/NativeQuery.ts
index 5767f551c57..ac51aec4871 100644
--- a/frontend/src/metabase-lib/queries/NativeQuery.ts
+++ b/frontend/src/metabase-lib/queries/NativeQuery.ts
@@ -137,7 +137,7 @@ export default class NativeQuery extends AtomicQuery {
   }
 
   static isDatasetQueryType(datasetQuery: DatasetQuery) {
-    return datasetQuery && datasetQuery.type === NATIVE_QUERY_TEMPLATE.type;
+    return datasetQuery?.type === NATIVE_QUERY_TEMPLATE.type;
   }
 
   /* Query superclass methods */
diff --git a/frontend/src/metabase-lib/queries/StructuredQuery.ts b/frontend/src/metabase-lib/queries/StructuredQuery.ts
index bb4b97b7e76..f11c638f80c 100644
--- a/frontend/src/metabase-lib/queries/StructuredQuery.ts
+++ b/frontend/src/metabase-lib/queries/StructuredQuery.ts
@@ -99,7 +99,7 @@ export interface SegmentOption {
 
 class StructuredQueryInner extends AtomicQuery {
   static isDatasetQueryType(datasetQuery: DatasetQuery) {
-    return datasetQuery && datasetQuery.type === STRUCTURED_QUERY_TEMPLATE.type;
+    return datasetQuery?.type === STRUCTURED_QUERY_TEMPLATE.type;
   }
 
   // For Flow type completion
-- 
GitLab