| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM, requesting @jprakash-db and @gopalldb to take a look
Sorry, something went wrong.
There was a problem hiding this comment.
Few PR checks are failing, please take a look at them @jiabin-hu
Sorry, something went wrong.
…r on execute* methods Signed-off-by: Jiabin Hu <jiabin.hu@databricks.com>
- Added query_tags parameter to executemany() method - Query tags are applied to all queries in the batch - Updated example to demonstrate executemany usage with query_tags - All tests pass (122/122 client tests) Signed-off-by: Jiabin Hu <jiabin.hu@databricks.com>
Signed-off-by: Jiabin Hu <jiabin.hu@databricks.com>
Signed-off-by: Jiabin Hu <jiabin.hu@databricks.com>
Signed-off-by: Jiabin Hu <jiabin.hu@databricks.com>
Signed-off-by: Jiabin Hu <jiabin.hu@databricks.com>
|
jenkins merge |
Sorry, something went wrong.
## Summary - Adds per-statement query tag support via `driverctx.NewContextWithQueryTags`, allowing users to attach query tags to individual SQL statements through context - Tags are serialized into `TExecuteStatementReq.ConfOverlay["query_tags"]`, consistent with the Python ([#736](databricks/databricks-sql-python#736)) and NodeJS ([#339](databricks/databricks-sql-nodejs#339)) connector implementations - Previously only session-level query tags were supported (set once via `WithSessionParams` at connection time) ## Usage ```go ctx := driverctx.NewContextWithQueryTags(context.Background(), map[string]string{ "team": "data-eng", "app": "etl-pipeline", }) rows, err := db.QueryContext(ctx, "SELECT * FROM table") ``` ## Changes | File | Description | |------|-------------| | `driverctx/ctx.go` | `NewContextWithQueryTags`, `QueryTagsFromContext`, propagation in `NewContextFromBackground` | | `query_tags.go` *(new)* | `SerializeQueryTags` — map to wire format with escaping | | `connection.go` | Read tags from context → serialize → set `ConfOverlay["query_tags"]` | | `driverctx/ctx_test.go` | 5 tests for context helpers | | `query_tags_test.go` *(new)* | 13 tests for serialization (escaping, edge cases) | | `connection_test.go` | 6 integration tests verifying ConfOverlay behavior | | `examples/query_tags/main.go` | Updated with session + statement-level examples | ## Test plan - [x] Unit tests for `SerializeQueryTags` covering nil, empty, single/multi tags, escaping of `\`, `:`, `,` in values and keys - [x] Unit tests for `NewContextWithQueryTags` / `QueryTagsFromContext` including nil context, missing key, timeout preservation, background propagation - [x] Integration tests verifying `ConfOverlay["query_tags"]` is correctly set (or absent) in captured `TExecuteStatementReq` - [ ] Verify existing tests still pass (CI) This pull request was AI-assisted by Isaac. --------- Signed-off-by: Jooho Yeo <jooho.yeo@databricks.com> Co-authored-by: Jooho Yeo <jooho.yeo@databricks.com> Co-authored-by: Vikrant Puppala <vikrant.puppala@databricks.com>
| Back | FazBrowse Home | New Git URL |
Summary
This PR adds per-query query tags functionality that allows users to pass tags as a dictionary to the execute.*() methods.
Changes
Key Features
Usage Example
Testing
The branch is ready and all tests are passing! 🎉
What type of PR is this?
Description
How is this tested?
Related Tickets & Documents