Re: Disconnect from SPI manager on error

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: RekGRpth <rekgrpth(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Disconnect from SPI manager on error
Date: 2019-06-20 15:32:59
Message-ID: 11906.1561044779@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

RekGRpth <rekgrpth(at)gmail(dot)com> writes:
> A patch fixing this bug
> https://www.postgresql.org/message-id/flat/15738-21723084f3009ceb%40postgresql.org

I do not think this code change is necessary or appropriate.
It is not plpgsql's job to clean up after other backend subsystems
during a transaction abort. Maybe if plpgsql were the only thing
that invokes spi.c, it would be sane to factorize the responsibility
this way --- but of course it is not.

The complaint in bug #15738 is 100% bogus, which is probably why
it was roundly ignored. The quoted C code is just plain wrong
about how to handle errors inside the backend. In particular,
SPI_rollback is not even approximately the right thing to do to
clean up after catching a thrown exception.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2019-06-20 15:35:33 Re: POC: Cleaning up orphaned files using undo logs
Previous Message Robert Haas 2019-06-20 14:57:04 Re: POC: Cleaning up orphaned files using undo logs