Hi!

As part of READ COMMITTED READ CONSISTENCY, it was added context
variables (under RDB$GET_CONTEXT's SYSTEM namespace) GLOBAL_CN and
SNAPSHOT_CN.

GLOBAL_CN: Most current value of global Commit Number counter

SNAPSHOT_CN: Value of Commit Number of currently database snapshot:
either transaction level (for SNAPSHOT or CONSISTENCY transaction), or
request level (for READ COMMITTED READ CONSISTENCY transaction). NULL,
if snapshot is not exist.

It was also added function RDB$GET_TRANSACTION_CN( <transaction number>
): Returns commit number of given transaction.

I may be wrong but as RDB$GET_TRANSACTION_CN does not get the
SNAPSHOT_CN of active transactions, but only commit number of committed
transactions, these set of (user exposed) feature is now currently only
for curiosity or debug purposes, but not for monitoring. If SNAPSHOT_CN
is exposed outside own transaction/attachment (say in MON$ or with
another function as RDB$GET_TRANSACTION_CN that gets the SNAPSHOT_CN
from another transaction) that feature may also be used for monitoring.
I think that must be considered. Despite that, with this thread feature
SNAPSHOT_CN gains a function, i.e., to start more than one transaction
(could be in different attachments) seeing the same initial data.

It's agreed that we also need a transaction info code to get the same
thing currently returned by SNAPSHOT_CN of SNAPSHOT transactions.

So all this functionality is very related, so they names must match
accordingly.

Vlad is proposing the new info code to be named
fb_info_tra_snapshot_number. I have no problem with it, provided that
SNAPSHOT_CN is also renamed (with he seems to be open), but for what?
SNAPSHOT_NUMBER too? (I have no problem with that)

So if we consistently call that number a "SNAPSHOT NUMBER" the path to
name the new TPB and SET TRANSACTION subclause becomes easy.

Which then I would go to isc_tpb_at_snapshot_number and SET TRANSACTION
SNAPSHOT [ AT NUMBER <n> ].


Adriano



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to