From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Chapman Flack <chap(at)anastigmatix(dot)net> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: *_to_xml() should copy SPI_processed/SPI_tuptable |
Date: | 2018-09-06 20:23:03 |
Message-ID: | e0d587a5-6b41-a768-0f42-e17a2e984b82@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 06/09/2018 18:25, Tom Lane wrote:
> Here's a proposed patch along that line. I included SPI_result (SPI's
> equivalent of errno) in the set of saved-and-restored variables,
> so that all the exposed SPI globals behave the same.
>
> Also, in further service of providing insulation between SPI nesting
> levels, I thought it'd be a good idea for SPI_connect() to reset the
> globals to zero/NULL after saving them. This ensures that a nesting
> level can't accidentally be affected by the state of an outer level.
> It's barely possible that there's somebody out there who's *intentionally*
> accessing state from a calling SPI level, but that seems like it'd be
> pretty dangerous programming practice. Still, maybe there's an argument
> for omitting that hunk in released branches.
These look like good changes. I'm not sure about backpatching them, but
as you say the chances that someone wants to do this intentionally are low.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2018-09-06 20:32:21 | Re: [HACKERS] Restricting maximum keep segments by repslots |
Previous Message | Fabrízio de Royes Mello | 2018-09-06 20:19:15 | Re: Prevent concurrent DROP SCHEMA when certain objects are being initially created in the namespace |