Subject | Re: [firebird-support] Transaction Info |
---|---|
Author | Helen Borrie |
Post date | 2005-11-16T00:23:05Z |
At 10:52 PM 15/11/2005 +0000, you wrote:
version. Gets reset to 0 on restore.
is running at the time gstat reads the transaction inventory. "Active" =
not committed or rolled back.
Oldest = "Oldest interesting", a.k.a. OIT, is the lowest numbered
read-write transaction (which may or may not be active) that is still
associated with record versions that cannot be released. Typically you get
a big gap between the OIT and the OAT if you have read-write transactions
that last for hours, days or even weeks. The culprits are usually a SELECT
statement in a read-write transaction that is never committed; and/or DML
statements that get committed using Commit Retaining.
directly from the database file, i.e. doesn't connect through the client
interface (a.k.a. API). The API is transaction contingent, i.e. anything a
client instance sees is through the context of its own connection to a
specific database.
./heLen
>A few questions regarding transactions:current_transaction (Fb 1.5 and higher).
>
>1. Is it possible to get the transaction number in a trigger ?
>2. Are the transaction numbers assigned in an increasing sequence ?Yes. Strictly - within the life of the currently created database
version. Gets reset to 0 on restore.
>3. gstat gives information about the oldest transaction and oldestOldest active, a.k.a. OAT is the oldest (lowest numbered) transaction that
>active. What is the difference between the two ?
is running at the time gstat reads the transaction inventory. "Active" =
not committed or rolled back.
Oldest = "Oldest interesting", a.k.a. OIT, is the lowest numbered
read-write transaction (which may or may not be active) that is still
associated with record versions that cannot be released. Typically you get
a big gap between the OIT and the OAT if you have read-write transactions
that last for hours, days or even weeks. The culprits are usually a SELECT
statement in a read-write transaction that is never committed; and/or DML
statements that get committed using Commit Retaining.
>Is it possible to obtain this information using any firebird API ?No. Gstat is a file-level utility that reads the transaction inventory
directly from the database file, i.e. doesn't connect through the client
interface (a.k.a. API). The API is transaction contingent, i.e. anything a
client instance sees is through the context of its own connection to a
specific database.
./heLen