You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by be...@apache.org on 2021/05/21 22:14:28 UTC

[superset] branch master updated: fix: save non-parameter DBs (#14759)

This is an automated email from the ASF dual-hosted git repository.

beto pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new dd31853  fix: save non-parameter DBs (#14759)
dd31853 is described below

commit dd318539fa276dd4840e312ee98dbccff03a1159
Author: Beto Dealmeida <ro...@dealmeida.net>
AuthorDate: Fri May 21 15:13:36 2021 -0700

    fix: save non-parameter DBs (#14759)
---
 superset/databases/schemas.py | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/superset/databases/schemas.py b/superset/databases/schemas.py
index a23659f..e43997d 100644
--- a/superset/databases/schemas.py
+++ b/superset/databases/schemas.py
@@ -28,7 +28,6 @@ from sqlalchemy.engine.url import make_url
 from sqlalchemy.exc import ArgumentError
 
 from superset.db_engine_specs import get_engine_specs
-from superset.db_engine_specs.base import BasicParametersMixin
 from superset.exceptions import CertificateException, SupersetSecurityException
 from superset.models.core import ConfigurationMethod, PASSWORD_MASK
 from superset.security.analytics_db_safety import check_sqlalchemy_uri
@@ -264,18 +263,12 @@ class DatabaseParametersSchemaMixin:
                     [_('Engine "%(engine)s" is not a valid engine.', engine=engine,)]
                 )
             engine_spec = engine_specs[engine]
-            if not issubclass(engine_spec, BasicParametersMixin):
-                raise ValidationError(
-                    [
-                        _(
-                            'Engine spec "%(engine_spec)s" does not support '
-                            "being configured via individual parameters.",
-                            engine_spec=engine_spec.__name__,
-                        )
-                    ]
+            if hasattr(engine_spec, "build_sqlalchemy_uri"):
+                data[
+                    "sqlalchemy_uri"
+                ] = engine_spec.build_sqlalchemy_uri(  # type: ignore
+                    parameters
                 )
-
-            data["sqlalchemy_uri"] = engine_spec.build_sqlalchemy_uri(parameters)
         return data