You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by vi...@apache.org on 2021/08/16 05:49:17 UTC
[superset] 27/34: fix: remove encryption from db params (#16214)
This is an automated email from the ASF dual-hosted git repository.
villebro pushed a commit to branch 1.3
in repository https://gitbox.apache.org/repos/asf/superset.git
commit f36a7f0d2c3caf3f513bd31a1e7e8677efffc260
Author: Elizabeth Thompson <es...@gmail.com>
AuthorDate: Thu Aug 12 12:03:14 2021 -0700
fix: remove encryption from db params (#16214)
* remove encryption from db params
* Update superset/db_engine_specs/base.py
Co-authored-by: Beto Dealmeida <ro...@dealmeida.net>
Co-authored-by: Beto Dealmeida <ro...@dealmeida.net>
(cherry picked from commit 67c4c0116ecdb842095872b48558550969e516c8)
---
superset/db_engine_specs/base.py | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/superset/db_engine_specs/base.py b/superset/db_engine_specs/base.py
index 261bede..8f4ed76 100644
--- a/superset/db_engine_specs/base.py
+++ b/superset/db_engine_specs/base.py
@@ -1410,7 +1410,8 @@ class BasicParametersMixin:
parameters: BasicParametersType,
encryted_extra: Optional[Dict[str, str]] = None,
) -> str:
- query = parameters.get("query", {})
+ # make a copy so that we don't update the original
+ query = parameters.get("query", {}).copy()
if parameters.get("encryption"):
if not cls.encryption_parameters:
raise Exception("Unable to build a URL with encryption enabled")
@@ -1433,6 +1434,11 @@ class BasicParametersMixin:
cls, uri: str, encrypted_extra: Optional[Dict[str, Any]] = None
) -> BasicParametersType:
url = make_url(uri)
+ query = {
+ key: value
+ for (key, value) in url.query.items()
+ if (key, value) not in cls.encryption_parameters.items()
+ }
encryption = all(
item in url.query.items() for item in cls.encryption_parameters.items()
)
@@ -1442,7 +1448,7 @@ class BasicParametersMixin:
"host": url.host,
"port": url.port,
"database": url.database,
- "query": url.query,
+ "query": query,
"encryption": encryption,
}