pankajkoti commented on code in PR #31984: URL: https://github.com/apache/airflow/pull/31984#discussion_r1233313245
########## airflow/providers/microsoft/mssql/hooks/mssql.py: ########## @@ -63,11 +63,10 @@ def connection_extra_lower(self) -> dict: @property def sqlalchemy_scheme(self) -> str: """Sqlalchemy scheme either from constructor, connection extras or default.""" - return ( - self._sqlalchemy_scheme - or self.connection_extra_lower.get("sqlalchemy_scheme") - or self.DEFAULT_SQLALCHEMY_SCHEME - ) + extra_scheme = self.connection_extra_lower.get("sqlalchemy_scheme") + if not self._sqlalchemy_scheme and extra_scheme and (":" in extra_scheme or "/" in extra_scheme): + raise RuntimeError("sqlalchemy_scheme in connection extra should not contain : or / characters") + return self._sqlalchemy_scheme or extra_scheme or self.DEFAULT_SQLALCHEMY_SCHEME Review Comment: yes, not sure, how users use it. I saw it in a few other places where extras take precedence over constructor/hook params and hence was curious to understand. Changing the hook/constructor params would need DAG/code changes and the need to update that, whereas changing the extras would not need code changes and more or less like changing an environment variable. No strong opinion, just wanted to understand :) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org