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,
         }
 

Reply via email to