mirror of
https://github.com/apache/superset.git
synced 2026-04-24 18:44:53 +00:00
feat(postgresql): dynamic schema (#23401)
This commit is contained in:
@@ -135,17 +135,21 @@ class SnowflakeEngineSpec(PostgresBaseEngineSpec):
|
||||
return extra
|
||||
|
||||
@classmethod
|
||||
def adjust_database_uri(
|
||||
cls, uri: URL, selected_schema: Optional[str] = None
|
||||
) -> URL:
|
||||
def adjust_engine_params(
|
||||
cls,
|
||||
uri: URL,
|
||||
connect_args: Dict[str, Any],
|
||||
catalog: Optional[str] = None,
|
||||
schema: Optional[str] = None,
|
||||
) -> Tuple[URL, Dict[str, Any]]:
|
||||
database = uri.database
|
||||
if "/" in uri.database:
|
||||
database = uri.database.split("/")[0]
|
||||
if selected_schema:
|
||||
selected_schema = parse.quote(selected_schema, safe="")
|
||||
uri = uri.set(database=f"{database}/{selected_schema}")
|
||||
if "/" in database:
|
||||
database = database.split("/")[0]
|
||||
if schema:
|
||||
schema = parse.quote(schema, safe="")
|
||||
uri = uri.set(database=f"{database}/{schema}")
|
||||
|
||||
return uri
|
||||
return uri, connect_args
|
||||
|
||||
@classmethod
|
||||
def get_schema_from_engine_params(
|
||||
|
||||
Reference in New Issue
Block a user