MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / generate_driver_url

Function generate_driver_url

lib/sqlalchemy/dialects/mssql/provision.py:38–59  ·  view source on GitHub ↗
(url, driver, query_str)

Source from the content-addressed store, hash-verified

36
37@generate_driver_url.for_db("mssql")
38def generate_driver_url(url, driver, query_str):
39 backend = url.get_backend_name()
40
41 new_url = url.set(drivername="%s+%s" % (backend, driver))
42
43 if driver == "pymssql" and url.get_driver_name() != "pymssql":
44 new_url = new_url.set(query="")
45 elif driver == "mssqlpython" and url.get_driver_name() != "mssqlpython":
46 new_url = new_url.set(query={"Encrypt": "No"})
47
48 if driver == "aioodbc":
49 new_url = new_url.update_query_dict({"MARS_Connection": "Yes"})
50
51 if query_str:
52 new_url = new_url.update_query_string(query_str)
53
54 try:
55 new_url.get_dialect()
56 except exc.NoSuchModuleError:
57 return None
58 else:
59 return new_url
60
61
62@create_db.for_db("mssql")

Callers

nothing calls this directly

Calls 6

get_backend_nameMethod · 0.80
get_driver_nameMethod · 0.80
update_query_dictMethod · 0.80
update_query_stringMethod · 0.80
setMethod · 0.45
get_dialectMethod · 0.45

Tested by

no test coverage detected