Amit Kapila <amit.kapil...@gmail.com> wrote:

> On Wed, Nov 25, 2020 at 8:00 PM Antonin Houska <a...@cybertec.at> wrote:

> > I meant that AbortOutOfAnyTransaction should PANIC itself if it sees that
> > there is unapplied undo, so nothing changes for its callers. Do I still miss
> > something?
> >
> 
> Adding PANIC in some generic code-path sounds scary. Why can't we
> simply try to execute undo?

Indeed it should try. I imagined it this way but probably got distracted by
some other thought when writing the email :-)

> > Actually I hit the problem of missing connection when playing with the
> > "undoxacttest" module. Those tests use table_open() / table_close() 
> > functions,
> > but it might not be necessary for the real RMGRs.
> >
> 
> How can we apply the action on a page without opening the relation?

If the undo record contains RelFileNode, ReadBufferWithoutRelcache() can be
used, just like it happens with WAL. Not sure how much it would affect zheap.

-- 
Antonin Houska
Web: https://www.cybertec-postgresql.com


Reply via email to