Re: PATCH: logical_work_mem and logical streaming of largein-progress transactions
От | Dilip Kumar |
---|---|
Тема | Re: PATCH: logical_work_mem and logical streaming of largein-progress transactions |
Дата | |
Msg-id | CAFiTN-vc7havbtwSKCzei6T9-N2MJ3cHxYMh66Rt5oSu7WXiRg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: PATCH: logical_work_mem and logical streaming of largein-progress transactions (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: PATCH: logical_work_mem and logical streaming of largein-progress transactions
|
Список | pgsql-hackers |
On Mon, Jan 6, 2020 at 4:36 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Mon, Jan 6, 2020 at 3:56 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > > > On Mon, Jan 6, 2020 at 2:11 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > > > 3. > > > +static void > > > +ReorderBufferStreamTXN(ReorderBuffer *rb, ReorderBufferTXN *txn) > > > { > > > .. > > > + /* > > > + * If this is a subxact, we need to stream the top-level transaction > > > + * instead. > > > + */ > > > + if (txn->toptxn) > > > + { > > > + > > > ReorderBufferStreamTXN(rb, txn->toptxn); > > > + return; > > > + } > > > > > > Is it ever possible that we reach here for subtransaction, if not, > > > then it should be Assert rather than if condition? > > > > ReorderBufferCheckMemoryLimit, can call it either for the > > subtransaction or for the main transaction, depends upon in which > > ReorderBufferTXN you are adding the current change. > > > > That function has code like below: > > ReorderBufferCheckMemoryLimit() > { > .. > if (ReorderBufferCanStream(rb)) > { > /* > * Pick the largest toplevel transaction and evict it from memory by > * streaming the already decoded part. > */ > txn = ReorderBufferLargestTopTXN(rb); > /* we know there has to be one, because the size is not zero */ > Assert(txn && !txn->toptxn); > .. > ReorderBufferStreamTXN(rb, txn); > .. > } > > How can it ReorderBufferTXN pass for subtransaction? > Hmm, I missed it. You are right, will fix it. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: