Re: partition routing layering in nodeModifyTable.c
Etsuro Fujita <etsuro.fujita@gmail.com>
From: Etsuro Fujita <etsuro.fujita@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Amit Langote <amitlangote09@gmail.com>, Thomas Munro <thomas.munro@gmail.com>,
David Rowley <david.rowley@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>,
Alvaro Herrera <alvherre@2ndquadrant.com>, Etsuro Fujita <fujita.etsuro@lab.ntt.co.jp>, PostgreSQL-development <pgsql-hackers@postgresql.org>, amitdkhan.pg@gmail.com
Date: 2019-08-03T19:45:47Z
Lists: pgsql-hackers
Hi, On Sun, Aug 4, 2019 at 3:03 AM Andres Freund <andres@anarazel.de> wrote: > On 2019-08-03 13:48:01 -0400, Tom Lane wrote: > > Andres Freund <andres@anarazel.de> writes: > > > On 2019-08-03 19:41:55 +0900, Etsuro Fujita wrote: > > >> What API does that function break? > > > > > You need to call it, whereas previously you did not need to call it. The > > > effort to change an FDW to get one more parameter, or to call that > > > function is about the same. I got the point. > > If those are the choices, adding a parameter is clearly the preferable > > solution, because it makes the API breakage obvious at compile. > > Right. I think it's a *bit* less clear in this case because we'd also > remove the field that such FDWs with direct modify support would use > now (EState.es_result_relation_info). > > But I think it's also just plainly a better API to use the > parameter. Even if, in contrast to the BeginDirectModify at hand, > BeginForeignModify didn't already accept it. Requiring a function call to > gather information that just about every realistic implementation is > going to need doesn't make sense. Agreed. Best regards, Etsuro Fujita
Commits
-
Fix initialization of es_result_relations in EvalPlanQualStart().
- 22b73d3cb0b5 14.0 landed
-
Remove PartitionRoutingInfo struct.
- fb5883da8615 14.0 landed
-
Revise child-to-root tuple conversion map management.
- 6973533650c0 14.0 landed
-
Clean up code to resolve the "root target relation" in nodeModifyTable.c
- f49b85d783f6 14.0 landed
-
Refactor code for cross-partition updates to a separate function.
- c5b097f8fa69 14.0 landed
-
Remove es_result_relation_info from EState.
- a04daa97a433 14.0 landed
-
Include result relation info in direct modify ForeignScan nodes.
- 178f2d560dde 14.0 landed
-
Create ResultRelInfos later in InitPlan, index them by RT index.
- 1375422c7826 14.0 landed