[Tarantool-patches] [PATCH] box: introduce "current" for sequence
Oleg Babin
olegrok at tarantool.org
Thu Mar 12 18:42:32 MSK 2020
Thanks for comments!
On 11/03/2020 01:49, Vladislav Shpilevoy wrote:
> Here you said, that Tarantool has no sessions, but it is not so. We
> have sessions, and even some session local things such as settings,
> storage.
>
It was a cite from
https://github.com/tarantool/tarantool/commit/3ff1f1e36e14381c0ebb5862943d4da281254767:
| In contrast to PostgreSQL, this method doesn't make sense in
| Tarantool, because we don't have sessions.
It was said before _session_storage was implemented but box.session has
been already existed. I will try to drop this misleading statement and
add: `In contrast "current" returns the last globally retrieved value of
the sequence`. Ok?
> FFI has nothing to do with contracts. It is about performance.
> We don't have a rule, that a whole subsystem should be either
> completely in FFI, or completely in Lua C. Lots of things are
> implemented in FFI + Lua C + Lua. For example, fiber module -
> it uses all the 3 ways simultaneously. box_select() is FFI for
> memtx, is Lua C for vinyl, and so on.
>
> On the contrary, we have a rule to make things via FFI when it
> is possible (there was a discussion about that recently, don't
> know whether it was formalized anywhere).
>
> Also I don't see any reason to make it FFI in a separate patch.
> Why not in this one? What is a purpose of introducing a function
> and re-implementing it right in a next patch and even create an
> issue for that?
>
> The most reasonable split I see here is to introduce the C
> function in one patch, and FFI in Lua in a second patch. In
> scope of one patchset.
As we can use FFI for all functions that doesn't yield, we can rewrite
e.g. "next" with FFI as well. It will be a bit more uniformly. And the
idea is to do it in separate patch. But ok, I'll change "current" from
Lua C API to FFI and send new patch.
--
Oleg Babin
More information about the Tarantool-patches
mailing list