| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Adds support for setting transaction tags and request tags in dbapi. This makes these options available to frameworks that depend on dbapi, like SQLAlchemy and Django. Towards #525
|
Thanks for your support! BTW, this request_tag = self.execution_options.get("request_tag") means the request tag will be on connecting to spanner engines [so, it will be the same for all the transaction queries -- on transaction level], but it should be on executing queries [to be on query level], right? transaction_tag = self.execution_options.get("transaction_tag") is making sense, since the whole transaction will belong to one connection. |
Sorry, something went wrong.
You can set execution_options on a lower level than the engine. E.g. it can also be set for specific queries like this: with Session(engine.execution_options(read_only=True)) as session:
# Execute two queries in a read-only transaction.
session.scalars(
select(Singer).execution_options(request_tag="my-tag-1")
).all()
session.scalars(
select(Singer).execution_options(request_tag="my-tag-2")
).all()The request tag is then set on the cursor that is being used for the current query: request_tag = self.execution_options.get("request_tag")
if request_tag:
self.cursor.request_tag = request_tag |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
There was a problem hiding this comment.
Approved
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Do not merge: Depends on googleapis/python-spanner#1262
Fixes #525