From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Kevin Grittner <kgrittn(at)gmail(dot)com> |
Cc: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Odd behavior with PG_TRY |
Date: | 2017-01-06 19:24:56 |
Message-ID: | 18635.1483730696@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Kevin Grittner <kgrittn(at)gmail(dot)com> writes:
> On Fri, Jan 6, 2017 at 5:43 AM, Michael Paquier
> <michael(dot)paquier(at)gmail(dot)com> wrote:
>> If a variable is modified within PG_TRY and then referenced in
>> PG_CATCH it needs to be marked as volatile to be strictly in
>> conformance with POSIX. This also ensures that any compiler does not
>> do any stupid optimizations with those variables in the way they are
>> referenced and used.
> That sort of begs the question of why PG_exception_stack is not
> marked as volatile, since the macros themselves modify it within
> the PG_TRY block and reference it within the PG_CATCH block. Is
> there some reason this variable is immune to the problem?
It's not a local variable.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Munro | 2017-01-06 19:32:07 | Re: WIP: Barriers |
Previous Message | Tom Lane | 2017-01-06 19:17:22 | Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan. |