feat: a native SQLAlchemy dialect for Superset (#14225)

This commit is contained in:
Beto Dealmeida
2023-08-18 12:21:36 -07:00
committed by GitHub
parent bbf0aaec5d
commit 6b660c86a4
11 changed files with 833 additions and 11 deletions

View File

@@ -41,7 +41,7 @@ from importlib_metadata import entry_points
from sqlalchemy.engine.default import DefaultDialect
from sqlalchemy.engine.url import URL
from superset import app
from superset import app, feature_flag_manager
from superset.db_engine_specs.base import BaseEngineSpec
logger = logging.getLogger(__name__)
@@ -120,6 +120,7 @@ backend_replacements = {
}
# pylint: disable=too-many-branches
def get_available_engine_specs() -> dict[type[BaseEngineSpec], set[str]]:
"""
Return available engine specs and installed drivers for them.
@@ -172,6 +173,8 @@ def get_available_engine_specs() -> dict[type[BaseEngineSpec], set[str]]:
# do not add denied db engine specs to available list
dbs_denylist = app.config["DBS_AVAILABLE_DENYLIST"]
if not feature_flag_manager.is_feature_enabled("ENABLE_SUPERSET_META_DB"):
dbs_denylist["superset"] = {""}
dbs_denylist_engines = dbs_denylist.keys()
if (