On 10/10/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Marko Kreen" <markokr@gmail.com> writes:
> > On 10/10/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >> * Why is txid_current_snapshot() excluding subtransaction XIDs? That
> >> might be all right for the current uses in Slony/Skytools, but it seems
> >> darn close to a bug for any other use.
> > ...
> > But I agree, supporting subtransactions makes the API more
> > universal. And it wouldn't break Slony/PgQ current usage.
>
> After looking at this more closely, I think txid_current_snapshot is
> okay as is, but is_visible_txid is probably buggy: the latter should be
> folding subtransaction IDs to top-transaction IDs, no? If not, why not?
> I hope the answer is "no" because otherwise the code will be at huge risk
> from truncation of pg_subtrans, but it's not apparent why this behavior
> is okay.
Could you describe bit more? The is_visible_txid() works
on data returned by txid_current_snapshot()? How can there
be any subtrans id's if txid_current_snapshot() wont return
them?
The basic idea is - only txid_current() and txid_current_snapshot()
communicate with backend, rest of functions work on data
returned by them.
--
marko