feat(postgresql): dynamic schema (#23401)

This commit is contained in:
Beto Dealmeida
2023-03-17 17:53:42 -07:00
committed by GitHub
parent f4035e096f
commit 2c6f581fa6
9 changed files with 187 additions and 78 deletions

View File

@@ -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(