我们使用python snowflake连接器来执行查询。我们最近对代码进行了更改,以封装在单个事务下执行的几个查询。作为测试的一部分,我们希望确保这些查询都在单个事务下执行。我们在历史标签下查过了。我们只看到查询id、sql文本、会话id和其他非事务性细节。
有没有办法知道在事务下执行的查询列表?谢谢!
发布于 2019-12-19 19:58:23
您只需确保查询在同一会话中运行,并且已经通过在第一个查询中发出begin语句启动了事务。
完成后,您可以运行select current_transaction();并将其输出到python脚本开头和结尾的屏幕上,以进行调试,检查事务ID是否相同。
或者,您应该能够使用Snowflake文档中的this example中的python上下文管理器来管理事务。只需确保设置了连接参数autocommit = False
发布于 2019-12-19 10:25:54
如果您使用的是python连接器,则可以利用query_tag来“标记”会话中的事务。您只需在事务的开始和结束时设置该值。这将允许您在query_history中查询特定的query_tag,或者查询group语句以报告持续时间或其他属性。
发布于 2019-12-19 07:18:11
没有提供交易信息的东西。在这一点上,您最好自己记录信息。
https://stackoverflow.com/questions/59400987
复制相似问题