[tarantool-patches] Re: [PATCH v8 1/3] box: factor fiber_gc out of txn_commit

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Tue Oct 30 22:15:42 MSK 2018

On 30/10/2018 17:30, n.pettik wrote:
>> On 29 Oct 2018, at 20:33, imeevma at tarantool.org wrote:
>> Now txn_commit is judge, jury and executioner. It both
>> commits or rollbacks data, and collects it calling fiber_gc,
>> which destroys the region.
> Nit: both commits and rollbacks.
>> But SQL wants to use some transactional data after commit. It is
>> autogenerated identifiers - a list of sequence values generated
>> for autoincrement columns and explicit sequence:next() calls.
>> It is possible to store the list on malloced mem inside Vdbe, but
>> it complicates deallocation.
> What is the problem with deallocation? AFAIU it is enough to
> simply iterate over the list and release each element - not big deal.
> If you want to use region, mb it is worth to store separate region
> specially for VDBE? We already have it in parser, so what prevents
> us for adding the same thing to VDBE? I guess we can store many
> things there, not only list of ids. I understand that parser in its turn
> has nothing in common (at least it should, except for analyze machinery)
> with transaction routines, so separate region is likely to be more
> reasonable for parser, but anyway...

Vdbe can yield. In parser we use region only because it
takes and frees slabs without yields.


More information about the Tarantool-patches mailing list