Re: *_to_xml() should copy SPI_processed/SPI_tuptable

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

In response to

Responses

Browse pgsql-hackers by date

  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