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 <[email protected]> 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 <[email protected]> Co-authored-by: Beto Dealmeida <[email protected]> (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, }
