如何在 firebird 中使用与交易相关的元数据(使用 2.1 版)?
例如:
1) 打开一个 isql 会话,更改一些表,保持事务打开。
2) 打开另一个 isql 会话,执行以下查询:
SELECT * FROM RDB$TRANSACTIONS;
不返回任何行。我需要什么特别的东西才能获得这些信息吗?
如何在 firebird 中使用与交易相关的元数据(使用 2.1 版)?
例如:
1) 打开一个 isql 会话,更改一些表,保持事务打开。
2) 打开另一个 isql 会话,执行以下查询:
SELECT * FROM RDB$TRANSACTIONS;
不返回任何行。我需要什么特别的东西才能获得这些信息吗?
表 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)