[tarantool-patches] Re: [PATCH v5 3/3] box: introduce func_index
Konstantin Osipov
kostja at tarantool.org
Fri Jul 26 22:31:30 MSK 2019
* Vladimir Davydov <vdavydov.dev at gmail.com> [19/07/26 13:14]:
> On Fri, Jul 26, 2019 at 12:57:43PM +0300, Konstantin Osipov wrote:
> > * Vladimir Davydov <vdavydov.dev at gmail.com> [19/07/26 12:54]:
> > >
> > > There's one thing about _func_index space that keeps bothering me: since
> > > insertion of a tuple into this space is a yielding operation and this
> > > operation is executed after insertion of a tuple into _index, we won't
> > > be able to wrap space.create_index() into box.begin/commit, because only
> > > the first DDL statement in a transaction is allowed to be yielding.
> >
> > I think we agreed to solve this to build func index at recovery
> > in _func_index trigger and at create in _func trigger.
>
> I don't understand how it's connected with recovery. Could you please
> elaborate?
>
> Just to be clear, I mean the following:
>
> space.create_index():
> _index:insert{...}
> _func_index:insert{...}
>
> The latter may yield so we can't use box.begin/commit in
> space.create_index() Lua function.
It will yield only during recovery. During normal operation I
thought we're going to build the index ad _index:insert{}
--
Konstantin Osipov, Moscow, Russia
More information about the Tarantool-patches
mailing list