Subject Purpose of the OST (Oldest Snapshot Transaction)
Author Michael Ludwig
Every transaction that is not READ ONLY READ COMMITTED is assigned
a value for the Oldest Snapshot field. I'd like to understand what
this field is needed for.

There is an interesting article here, and while it does cover OST
mechanics, it doesn't answer my question regarding the purpose of
the OST, at least not directly:

Understanding InterBase Transactions - Bill Todd
http://conferences.embarcadero.com/article/32280#OST

Is it correct to say that the OST (oldest snapshot transaction) is
tracked to determine what committed versions have to be retained?

Let me try and clarify this by giving an example. Let's say the
OST is 300 and the OAT is 310, and the OAT is now encountering a
row having committed versions for 285, 295 and 305: Could garbage
collection then be tasked to remove version 285, but not 295 as it
is still seen and needed by the OST, which is at 300?

There's an IBSurgeon article here that seems to corroborate my
reasoning:

Firebird 2.0 garbage collector
http://www.ib-aid.com/articles/item117

But I'd like to progress from speculation to knowledge :-)
--
Michael Ludwig