如何在firebird中使用与事务相关的元数据(使用版本2.1)?
例如:
1)打开一个isql会话,更改一些表,保持事务处理打开。
2)打开另一个isql会话,执行以下查询:
SELECT * FROM RDB$TRANSACTIONS;
不返回任何行。我需要启用哪些特殊信息才能获取此信息?
答案 0 :(得分:1)
表RDB $ TRANSACTIONS仅用于分布式事务(即针对多个数据库运行的事务)。对于监控常规交易,请使用表MON $ TRANSACTIONS。
MON$TRANSACTIONS (started transactions)
- MON$TRANSACTION_ID (transaction ID)
- MON$ATTACHMENT_ID (attachment ID)
- MON$STATE (transaction state)
0: idle
1: active
- MON$TIMESTAMP (transaction start date/time)
- MON$TOP_TRANSACTION (top transaction)
- MON$OLDEST_TRANSACTION (local OIT number)
- MON$OLDEST_ACTIVE (local OAT number)
- MON$ISOLATION_MODE (isolation mode)
0: consistency
1: concurrency
2: read committed record version
3: read committed no record version
- MON$LOCK_TIMEOUT (lock timeout)
-1: infinite wait
0: no wait
N: timeout N
- MON$READ_ONLY (read-only flag)
- MON$AUTO_COMMIT (auto-commit flag)
- MON$AUTO_UNDO (auto-undo flag)
- MON$STAT_ID (statistics ID)