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
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 |