Re: de-deduplicate code in DML execution hooks in postgres_fdw - Mailing list pgsql-hackers

From Etsuro Fujita
Subject Re: de-deduplicate code in DML execution hooks in postgres_fdw
Date
Msg-id 5B504D3F.9070203@lab.ntt.co.jp
Whole thread Raw
In response to de-deduplicate code in DML execution hooks in postgres_fdw  (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>)
Responses Re: de-deduplicate code in DML execution hooks in postgres_fdw  (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>)
Re: de-deduplicate code in DML execution hooks in postgres_fdw  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
(2018/04/18 19:34), Ashutosh Bapat wrote:
> Hi,
> While working on a fix related to non-direct DML [1], I noticed that
> postgresExecForeignInsert(), postgresExecForeignUpdate() and
> postgresExecForeignDelete() functions are almost identical except that
> postgresExecForeignInsert() doesn't require ctid. The fix that I was
> working is applicable to Delete and Update but can be useful for
> Insert as well. I had to add the same code to two places at least and
> might have missed fixing one of them. Why don't we have a single
> function which prepares the statement, extract parameters, executes
> the prepared statement and checks for the results, returned rows etc?
> It's been a while that these functions are there and haven't produced
> code which is a lot different for each of these cases. Here's a patch
> to extract that code into a separate function and use it in all the
> three hook implementations.
>
> [1] https://www.postgresql.org/message-id/CAFjFpRfcgwsHRmpvoOK-GUQi-n8MgAS+OxcQo=aBDn1COywmcg@mail.gmail.com

+1 for the general idea.  (Actually, I also thought the same thing 
before.)  But since this is definitely a matter of PG12, ISTM that it's 
wise to work on this after addressing the issue in [1].  My concern is: 
if we do this refactoring now, we might need two patches for fixing the 
issue in case of backpatching as the fix might need to change those 
executor functions.

Best regards,
Etsuro Fujita


pgsql-hackers by date:

Previous
From: Oleksandr Shulgin
Date:
Subject: Re: psql's \d versus included-index-column feature
Next
From: Amit Langote
Date:
Subject: Re: partition tree inspection functions