QSqlDatabase / QSqlQuery 终止 运行 查询?
QSqlDatabase / QSqlQuery terminating running query?
我正在使用 QSqlDatabase 并试图找到一种方法来终止 运行 查询(这是我正在编写的 sql 客户端的一种必要功能)
有没有办法获取 运行 查询的 ID? (计划只是在另一个连接中执行 kill/pg_cancel_backend 命令——需要支持 PostgreSQL + MySQL)
我考虑过为相同的查询侦听进程列表,但如果它被终止的原因是因为它 运行 两次并且用户只想杀死一个特定的查询怎么办? (这会使该方法不完全准确,而且会超级 hacky)
编辑:我对 QSqlDatabase 不是超级依赖(除了它是我正在使用的框架的一部分)所以我不介意使用其他东西,如果它是唯一的方法,但它肯定会很好能够使用它。
我完全没有想法,所以任何东西都会非常感激!
在 Postgres 中,您可以通过执行
来识别后端进程 id
select pg_backend_pid();
就在连接建立之后。在您关闭连接之前,id
保持不变。
此函数的 MySQL 等价于 CONNECTION_ID ()
。
我正在使用 QSqlDatabase 并试图找到一种方法来终止 运行 查询(这是我正在编写的 sql 客户端的一种必要功能)
有没有办法获取 运行 查询的 ID? (计划只是在另一个连接中执行 kill/pg_cancel_backend 命令——需要支持 PostgreSQL + MySQL)
我考虑过为相同的查询侦听进程列表,但如果它被终止的原因是因为它 运行 两次并且用户只想杀死一个特定的查询怎么办? (这会使该方法不完全准确,而且会超级 hacky)
编辑:我对 QSqlDatabase 不是超级依赖(除了它是我正在使用的框架的一部分)所以我不介意使用其他东西,如果它是唯一的方法,但它肯定会很好能够使用它。
我完全没有想法,所以任何东西都会非常感激!
在 Postgres 中,您可以通过执行
来识别后端进程id
select pg_backend_pid();
就在连接建立之后。在您关闭连接之前,id
保持不变。
此函数的 MySQL 等价于 CONNECTION_ID ()
。