[tarantool-patches] Re: [PATCH] box: add tuple:size function

  • From: Vladislav Shpilevoy <v.shpilevoy@xxxxxxxxxxxxx>
  • To: tarantool-patches@xxxxxxxxxxxxx, Konstantin Osipov <kostja@xxxxxxxxxxxxx>
  • Date: Wed, 10 Oct 2018 13:25:49 +0300

Kostja, please, do not ignore.

On 08/10/2018 13:16, Vladimir Davydov wrote:

On Sat, Oct 06, 2018 at 04:58:46PM +0300, Vladislav Shpilevoy wrote:


On 05/10/2018 13:23, Vladimir Davydov wrote:
On Thu, Sep 27, 2018 at 08:55:23PM +0300, AlexeyIvushkin wrote:
diff --git a/src/box/lua/tuple.lua b/src/box/lua/tuple.lua
index 63ea73e..801ee3c 100644
--- a/src/box/lua/tuple.lua
+++ b/src/box/lua/tuple.lua
@@ -286,6 +286,7 @@ local methods = {
       ["update"]      = tuple_update;
       ["upsert"]      = tuple_upsert;
       ["bsize"]       = tuple_bsize;
+    ["size"]        = internal.tuple.size;
       ["tomap"]       = internal.tuple.tuple_to_map;

Why did you decide to introduce a new function rather than fixing
tuple.bsize, as it was explicitly requested in the ticket?

It breaks compatibility. Now bsize returns only Message Pack part
of tuple despite what the documentation says.

Frankly, I don't think that introducing a new method just to keep the
old behavior of bsize intact is a good idea, because we probably won't
stop at that. The next thing we have to add will probably be space.size,
which would be defined as a sum of tuple.size of constituent tuples and
that wouldn't be as trivial to implement as tuple.size...

Anyway, IMO having two methods for getting the size of binary data
stored in a tuple is confusing (which one should I use as a user?).
Up to Kostja.


Other related posts: