Skip to content
Snippets Groups Projects
Unverified Commit 801445b1 authored by Alexander Solovyov's avatar Alexander Solovyov Committed by GitHub
Browse files

global setting to enable/disable native sql parsing (#41315)

parent 10f892ff
No related merge requests found
......@@ -10,6 +10,7 @@
[macaw.core :as mac]
[metabase.config :as config]
[metabase.native-query-analyzer.parameter-substitution :as nqa.sub]
[metabase.public-settings :as public-settings]
[metabase.util :as u]
[metabase.util.log :as log]
[toucan2.core :as t2]))
......@@ -24,10 +25,11 @@
(defn- active?
"Should the query run? Either we're not testing or it's been explicitly turned on.
c.f. [[*parse-queries-in-test?*]]"
c.f. [[*parse-queries-in-test?*]], [[public-settings/sql-parsing-enabled]]"
[]
(or (not config/is-test?)
*parse-queries-in-test?*))
(and (public-settings/sql-parsing-enabled)
(or (not config/is-test?)
*parse-queries-in-test?*)))
(defn- normalize-name
;; TODO: This is wildly naive and will be revisited once the rest of the plumbing is sorted out
......
......@@ -859,3 +859,10 @@
(when (and id (t2/exists? :model/Dashboard :id id :archived false))
id)))
:doc false)
(defsetting sql-parsing-enabled
(deferred-tru "SQL Parsing is disabled")
:visibility :internal
:export? false
:default true
:type :boolean)
(ns metabase.native-query-analyzer-test
(:require
[clojure.test :refer :all]
[metabase.native-query-analyzer :as query-analyzer]
[metabase.public-settings :as public-settings]
[metabase.test :as mt]))
(deftest active-test
(mt/discard-setting-changes [sql-parsing-enabled]
(testing "sql parsing enabled"
(public-settings/sql-parsing-enabled! true)
(binding [query-analyzer/*parse-queries-in-test?* true]
(is (true? (#'query-analyzer/active?)))))
(testing "sql parsing disabled"
(public-settings/sql-parsing-enabled! false)
(binding [query-analyzer/*parse-queries-in-test?* true]
(is (false? (#'query-analyzer/active?)))))))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment