Re: Custom table AMs need to include heapam.h because ofBulkInsertState
От | Andres Freund |
---|---|
Тема | Re: Custom table AMs need to include heapam.h because ofBulkInsertState |
Дата | |
Msg-id | 20190717233611.h3gpcj4yypymmsax@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: Custom table AMs need to include heapam.h because of BulkInsertState (David Rowley <david.rowley@2ndquadrant.com>) |
Ответы |
Re: Custom table AMs need to include heapam.h because of BulkInsertState
|
Список | pgsql-hackers |
Hi, On 2019-07-18 11:29:37 +1200, David Rowley wrote: > On Wed, 17 Jul 2019 at 06:46, Andres Freund <andres@anarazel.de> wrote: > > 1) Have ExecFindPartition() return via a bool* whether the partition is > > being accessed for the first time. In copy.c push the partition onto > > a list of to-be-bulk-finished tables. > > 2) Add a execPartition.c function that returns all the used tables from > > a PartitionTupleRouting*. > > #2 seems better than #1 as it does not add overhead to ExecFindPartition(). I don't see how #1 would add meaningful overhead compared to the other costs of that function. Wouldn't it just be adding if (isnew) *isnew = false; to the "/* ResultRelInfo already built */" branch, and the reverse to the else? That got to be several orders of magnitude cheaper than e.g. FormPartitionKeyDatum() which is unconditionally executed? > Are you thinking this should go back into v12, or just for v13 only? Not sure, tbh. Probably depends a bit on how complicated it'd look? Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: