From 068400cdd0b733d63bc5c1df67cc8abfe0fd60c4 Mon Sep 17 00:00:00 2001 From: Arik Fraimovich Date: Sun, 1 Mar 2020 10:26:59 +0200 Subject: [PATCH 1/3] Snowflake: use different method of showing columns if no schema specified in db name --- redash/query_runner/snowflake.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/redash/query_runner/snowflake.py b/redash/query_runner/snowflake.py index ca9dd9b3d5..f46166edfb 100644 --- a/redash/query_runner/snowflake.py +++ b/redash/query_runner/snowflake.py @@ -123,10 +123,18 @@ def _run_query_without_warehouse(self, query): cursor.close() connection.close() - return data, error + return data, error + + def _database_name_with_schema(self): + return '.' in self.configuration.get('database') def get_schema(self, get_stats=False): - results, error = self._run_query_without_warehouse("SHOW COLUMNS") + if self._database_name_with_schema(): + query = "SHOW COLUMNS" + else: + query = "SHOW COLUMNS IN DATABASE" + + results, error = self._run_query_without_warehouse(query) if error is not None: raise Exception("Failed getting schema.") From 2387d8395f7c7e8dedc3c2c1df1e2294feb5b32e Mon Sep 17 00:00:00 2001 From: Arik Fraimovich Date: Sun, 1 Mar 2020 11:54:58 +0200 Subject: [PATCH 2/3] Update redash/query_runner/snowflake.py Co-Authored-By: Omer Lachish --- redash/query_runner/snowflake.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redash/query_runner/snowflake.py b/redash/query_runner/snowflake.py index f46166edfb..36bc5ad873 100644 --- a/redash/query_runner/snowflake.py +++ b/redash/query_runner/snowflake.py @@ -125,7 +125,7 @@ def _run_query_without_warehouse(self, query): return data, error - def _database_name_with_schema(self): + def _database_name_includes_schema(self): return '.' in self.configuration.get('database') def get_schema(self, get_stats=False): From 251bb1f1935859b936a95a26469749d1f584033a Mon Sep 17 00:00:00 2001 From: Arik Fraimovich Date: Sun, 1 Mar 2020 11:55:04 +0200 Subject: [PATCH 3/3] Update redash/query_runner/snowflake.py --- redash/query_runner/snowflake.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redash/query_runner/snowflake.py b/redash/query_runner/snowflake.py index 36bc5ad873..3e32f572d5 100644 --- a/redash/query_runner/snowflake.py +++ b/redash/query_runner/snowflake.py @@ -129,7 +129,7 @@ def _database_name_includes_schema(self): return '.' in self.configuration.get('database') def get_schema(self, get_stats=False): - if self._database_name_with_schema(): + if self._database_name_includes_schema(): query = "SHOW COLUMNS" else: query = "SHOW COLUMNS IN DATABASE"