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

Function generate_driver_url

lib/sqlalchemy/dialects/mssql/provision.py:38–59  ·  lib/sqlalchemy/dialects/mssql/provision.py::generate_driver_url
(url, driver, query_str)

Source from the content-addressed store, hash-verified

36
37@generate_driver_url.for_db(class="st">"mssql")
38def generate_driver_url(url, driver, query_str):
39 backend = url.get_backend_name()
40
41 new_url = url.set(drivername=class="st">"%s+%s" % (backend, driver))
42
43 if driver == class="st">"pymssql" and url.get_driver_name() != class="st">"pymssql":
44 new_url = new_url.set(query=class="st">"")
45 elif driver == class="st">"mssqlpython" and url.get_driver_name() != class="st">"mssqlpython":
46 new_url = new_url.set(query={class="st">"Encrypt": class="st">"No"})
47
48 if driver == class="st">"aioodbc":
49 new_url = new_url.update_query_dict({class="st">"MARS_Connection": class="st">"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(class="st">"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