dstandish commented on a change in pull request #6850: [AIRFLOW-6296] add mssql
odbc hook
URL: https://github.com/apache/airflow/pull/6850#discussion_r362937473
##########
File path: setup.py
##########
@@ -275,6 +275,7 @@ def write_version(filename: str =
os.path.join(*["airflow", "git_version"])):
]
mssql = [
'pymssql~=2.1.1',
+ 'pyodbc',
Review comment:
> nesting odbc params in extra
@baolsen i do like the idea here
let me share my reservations.
here is what airflow conn uri looks like without nesting:
```
'mssql-odbc://myserver?Driver=ODBC+Driver+17+for+SQL+Server&ApplicationIntent=ReadOnly&TrustedConnection=Yes'
```
and with nesting under `odbc_keywords`:
```
'mssql-odbc://myserver?odbc_keywords=%7B%27Driver%27%3A+%27ODBC+Driver+17+for+SQL+Server%27%2C+%27ApplicationIntent%27%3A+%27ReadOnly%27%2C+%27TrustedConnection%27%3A+%27Yes%27%7D'
```
with the first form, user could create conn uri , read it, and change it
pretty easily
with the second form it's not really human readable/ editable, you have to
use `Connection.get_uri` to generate it.
if there was a good reason to do it i would support this, but if not, i
prefer the readability.
with sqlalchemy, the connect kwargs, by design of dbapi, are passed directly
to the method. so there's not really a need for them in `extra`.
And re general future-proofing, for any pyodbc-specific params, i think
we're better off just allowing those to go into hook init params, like i have
done here with `trx_isolation`. users can also set properties after they get
the conn object.
the tradeoff just doesn't seem worth it to dirty up the conn uri --- what
are your thoughts?
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services