> pg_subtrans is trivial to index --- it's a linear array subscripted by
> TransactionId. I'm not sure what we'd do to handle row locks, which
> would need a key like (DBoid, RELoid, BlockNum, LineNum) and would be
> extremely non-dense in that space.
>
> 'Tis something to think about though...
I've been thinking about it and I am wondering what the reason is that
we need to record every transaction that has a row share lock?
ie. why can't we just record the number of locks each backend has, sort
of, and use a reference counting sort of method. Per-backend in case
the backend dies and we need to discount those locks..?
Chris