Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sqlalchemy_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
# See src/databricks/sql/thrift_backend.py for complete list
extra_connect_args = {
"_tls_verify_hostname": True,
"_user_agent_entry": "PySQL Example Script",
"user_agent_entry": "PySQL Example Script",
}


Expand Down
17 changes: 4 additions & 13 deletions src/databricks/sqlalchemy/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -409,21 +409,12 @@ def receive_do_connect(dialect, conn_rec, cargs, cparams):
if not dialect.name == "databricks":
return

ua = cparams.get("_user_agent_entry", "")
ua = cparams.get("user_agent_entry", "sqlalchemy")

def add_sqla_tag_if_not_present(val: str):
if not val:
output = "sqlalchemy"
if "sqlalchemy" not in ua:
ua = f"sqlalchemy + {ua}"

if val and "sqlalchemy" in val:
output = val

else:
output = f"sqlalchemy + {val}"

return output

cparams["_user_agent_entry"] = add_sqla_tag_if_not_present(ua)
cparams["user_agent_entry"] = ua

if sqlalchemy.__version__.startswith("1.3"):
# SQLAlchemy 1.3.x fails to parse the http_path, catalog, and schema from our connection string
Expand Down
4 changes: 2 additions & 2 deletions tests/test_local/e2e/test_basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def version_agnostic_connect_arguments(connection_details) -> Tuple[str, dict]:
CATALOG = connection_details["catalog"]
SCHEMA = connection_details["schema"]

ua_connect_args = {"_user_agent_entry": USER_AGENT_TOKEN}
ua_connect_args = {"user_agent_entry": USER_AGENT_TOKEN}

if sqlalchemy_1_3():
conn_string = f"databricks://token:{ACCESS_TOKEN}@{HOST}"
Expand Down Expand Up @@ -510,7 +510,7 @@ def engine(self, connection_details: dict):
SCHEMA = connection_details["schema"]

connection_string = f"databricks://token:{ACCESS_TOKEN}@{HOST}?http_path={HTTP_PATH}&catalog={CATALOG}&schema={SCHEMA}"
connect_args = {"_user_agent_entry": USER_AGENT_TOKEN}
connect_args = {"user_agent_entry": USER_AGENT_TOKEN}

engine = create_engine(connection_string, connect_args=connect_args)
return engine
Expand Down
2 changes: 1 addition & 1 deletion tests/test_local/e2e/test_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def db_engine(self) -> Engine:
CATALOG = self.arguments["catalog"]
SCHEMA = self.arguments["schema"]

connect_args = {"_user_agent_entry": "SQLAlchemy e2e Tests"}
connect_args = {"user_agent_entry": "SQLAlchemy e2e Tests"}

conn_string = f"databricks://token:{ACCESS_TOKEN}@{HOST}?http_path={HTTP_PATH}&catalog={CATALOG}&schema={SCHEMA}"
return create_engine(conn_string, connect_args=connect_args)
Expand Down