Re: BUG #14799: SELECT * FROM transition_table in a statement-level trigger

Thomas Munro <thomas.munro@enterprisedb.com>

From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: phb07@apra.asso.fr, PostgreSQL Bugs <pgsql-bugs@postgresql.org>, Kevin Grittner <kgrittn@postgresql.org>
Date: 2017-09-06T21:20:02Z
Lists: pgsql-bugs
On Thu, Sep 7, 2017 at 1:32 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> phb07@apra.asso.fr writes:
>> I am playing a bit with transition tables in statement-level triggers, using
>> the postgres V10 beta 4 version. I am facing an issue that I suspect to be a
>> bug (unless it is a design limitation). I have built a small test case to
>> reproduce what I have discovered.
>> ...
>> It looks like the resolution of the column list has not taken into account a
>> "NOT attisdropped" condition when scanning the pg_attribute table (or an
>> equivalent in memory structure).
>
> Yeah.  The RTE_NAMEDTUPLESTORE patch seems to have piggybacked on the code
> for RTE_CTE and friends, none of which could have dropped columns so the
> case wasn't considered.  I think the immediate problem is in expandRTE()
> but I have zero faith that there aren't comparable bugs elsewhere.

Ouch.  Thanks for fixing this bug, which I would have picked up if I'd
been awake at the time.

-- 
Thomas Munro
http://www.enterprisedb.com


Commits

  1. Clean up handling of dropped columns in NAMEDTUPLESTORE RTEs.