Add statement-level query_tags support for SEA backend (#754) · databricks/databricks-sql-python@ca4d7bc · GitHub
Skip to content

Commit ca4d7bc

Browse files
authored
Add statement-level query_tags support for SEA backend (#754)
* Add statement-level query_tags support for SEA backend Signed-off-by: Sreekanth Vadigi <sreekanth.vadigi@databricks.com> * Simplify None handling in query_tags serialization Signed-off-by: Sreekanth Vadigi <sreekanth.vadigi@databricks.com> --------- Signed-off-by: Sreekanth Vadigi <sreekanth.vadigi@databricks.com>
1 parent 36fb376 commit ca4d7bc

3 files changed

Lines changed: 118 additions & 5 deletions

File tree

src/databricks/sql/backend/sea/backend.py

Lines changed: 2 additions & 3 deletions

src/databricks/sql/backend/sea/models/requests.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class ExecuteStatementRequest:
3131
wait_timeout: str = "10s"
3232
on_wait_timeout: str = "CONTINUE"
3333
row_limit: Optional[int] = None
34+
query_tags: Optional[Dict[str, Optional[str]]] = None
3435

3536
def to_dict(self) -> Dict[str, Any]:
3637
"""Convert the request to a dictionary for JSON serialization."""
@@ -60,6 +61,13 @@ def to_dict(self) -> Dict[str, Any]:
6061
for param in self.parameters
6162
]
6263

64+
# SEA API expects query_tags as an array of {key, value} objects.
65+
# None/empty values are left to the server to handle as key-only tags.
66+
if self.query_tags:
67+
result["query_tags"] = [
68+
{"key": k, "value": v} for k, v in self.query_tags.items()
69+
]
70+
6371
return result
6472

6573

tests/unit/test_sea_backend.py

Lines changed: 108 additions & 2 deletions

0 commit comments

Comments
 (0)