RE: problem with RETURNING and update row movement

Takamichi Osumi (Fujitsu) <osumi.takamichi@fujitsu.com>

From: "osumi.takamichi@fujitsu.com" <osumi.takamichi@fujitsu.com>
To: 'Amit Langote' <amitlangote09@gmail.com>, Etsuro Fujita <etsuro.fujita@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-07-14T11:26:32Z
Lists: pgsql-hackers
Amit san


Hello. I've tested your patch.

This patch can be applied comfortably and make check-world has produced no failure.

I didn't do performance test
because this patch doesn't have an effect on it in my opinion.

I reproduced the bug you described before,
which can be prevented by your patch currently.

After applying your patch, I've gotten a correct output without error
using the test case in the 1st mail of this thread.

Just small comment about your patch.
I felt the test you added in update.sql could be simpler or shorter in other form.
Excuse me if I say something silly.
It's because I supposed you can check the bug is prevented without definitions of both a function and its trigger for this case. Neither of them is essentially connected with the row movement between source partition and destination partition and can be replaced by simpler expression ?

Best,
	Takamichi Osumi

Commits

  1. Fix bugs in RETURNING in cross-partition UPDATE cases.

  2. postgres_fdw: Clean up handling of system columns.