pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: alex.akts@gmail.com
Subject: BUG #15900: `executor could not find named tuplestore` in triggers with transition table and row locks
Date: Mon, 08 Jul 2019 22:22:45 +0000
Message-ID: <15900-bc482754fe8d7415@postgresql.org> (raw)

The following bug has been logged on the website:

Bug reference:      15900
Logged by:          Alex Aktsipetrov
Email address:      alex.akts@gmail.com
PostgreSQL version: 12beta2
Operating system:   Ubuntu 16.04
Description:        

SELECT FOR UPDATE query that references a transition table in AFTER
INSERT/UPDATE triggers produces an unexpected error. The same query with FOR
UPDATE omitted finishes without any error, which is my expectation for the
original one as well. AFTER DELETE triggers were not tested.

For example, the following query:

	create table testtr (a int, b text);

	create function testtr_trigger() returns trigger language plpgsql as
	$$begin
	 perform(
	   select array_agg(a) from
	   (select testtr.a from testtr join new_table on testtr.a = new_table.a
for update)
	   as tmp
	 );
	 return new;
	end$$;

	create trigger testtr_trigger
	after insert on testtr
	referencing new table as new_table
	for each statement execute procedure testtr_trigger();

	insert into testtr values (1, 'one'), (2, 'two');

produces the following error:

	ERROR:  executor could not find named tuplestore "new_table"
	CONTEXT:  SQL statement "SELECT (
	   select array_agg(a) from
	   (select testtr.a from testtr join new_table on testtr.a = new_table.a
for update)
	   as tmp
	)"

I think the issue was introduced in ad0bda5d24ea2bcc72b5e50020e3c79bab10836b
as the query finishes successfully in its ancestor.



view thread (9+ messages)  latest in thread

Message-ID: <15900-bc482754fe8d7415@postgresql.org>
Permalink:  ../15900-bc482754fe8d7415@postgresql.org/
Also on:    postgresql.org/message-id/15900-bc482754fe8d7415@postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: noreply@postgresql.org, pgsql-bugs@lists.postgresql.org, alex.akts@gmail.com
  Subject: Re: BUG #15900: `executor could not find named tuplestore` in triggers with transition table and row locks
  In-Reply-To: <15900-bc482754fe8d7415@postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox