From 28fd102ef69f708b5e521c45a9ab8f39ad2d0ae7 Mon Sep 17 00:00:00 2001
From: Paul Rosenzweig <paulrosenzweig@users.noreply.github.com>
Date: Thu, 12 Mar 2020 14:23:18 -0400
Subject: [PATCH] cancel running queries in situations we missed (#12114)

---
 frontend/src/metabase/query_builder/actions.js                  | 1 +
 .../src/metabase/query_builder/components/NativeQueryEditor.jsx | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/frontend/src/metabase/query_builder/actions.js b/frontend/src/metabase/query_builder/actions.js
index 70a57d15740..a47cd2e0b33 100644
--- a/frontend/src/metabase/query_builder/actions.js
+++ b/frontend/src/metabase/query_builder/actions.js
@@ -131,6 +131,7 @@ export const POP_STATE = "metabase/qb/POP_STATE";
 export const popState = createThunkAction(
   POP_STATE,
   location => async (dispatch, getState) => {
+    dispatch(cancelQuery());
     const card = getCard(getState());
     if (location.state && location.state.card) {
       if (!Utils.equals(card, location.state.card)) {
diff --git a/frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx b/frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx
index c847bc7b87c..c60e379cb04 100644
--- a/frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx
+++ b/frontend/src/metabase/query_builder/components/NativeQueryEditor.jsx
@@ -211,6 +211,7 @@ export default class NativeQueryEditor extends Component {
   }
 
   componentWillUnmount() {
+    this.props.cancelQuery();
     document.removeEventListener("keydown", this.handleKeyDown);
   }
 
@@ -233,6 +234,7 @@ export default class NativeQueryEditor extends Component {
   };
 
   runQuery = () => {
+    this.props.cancelQuery();
     const { query, runQuestionQuery } = this.props;
 
     // if any text is selected, just run that
-- 
GitLab