[tarantool-patches] Re: [PATCH 0/5] JSON update preparation

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Fri Aug 23 00:18:57 MSK 2019


Hi! As you asked, I rebased it. But not on the
latest master, because the latest one crashes.
Nonetheless, conflicting part about decimals update
is fixed, so once the master is stable, it should be
pushable without new conflicts.

On 14/07/2019 00:11, Vladislav Shpilevoy wrote:
> The patchset is mainly about rope and its usage. Rope is a data structure
> allowing to modify an array with memory overhead not depending on the array
> size. Only on the number of modifications. It is used when there is a long
> array of something, and a one wants to insert new elements, delete existing
> ones, change their values, but do not rebuild the whole array each time.
> 
> Rope is going to be one of the core data structures of the incoming JSON path
> updates, and this patchset makes it faster and lighter.
> 
> Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-1261-update-json-prepare
> Issue: https://github.com/tarantool/tarantool/issues/1261
> 
> Vladislav Shpilevoy (5):
>   tuple: remove alloc and alloc_ctx args from update()
>   rope: make rope library macro template
>   tuple: relax struct tuple_update dependency on rope
>   int96: add a missing header
>   tuple: implement update by field name
> 
>  debian/copyright            |   2 +-
>  src/box/errcode.h           |   4 +-
>  src/box/lua/tuple.c         |  10 +-
>  src/box/memtx_space.c       |  27 +-
>  src/box/space.c             |  26 +-
>  src/box/sql/insert.c        |   3 +-
>  src/box/sql/resolve.c       |   4 +-
>  src/box/sql/update.c        |   2 +-
>  src/box/tuple.c             |  18 +-
>  src/box/tuple_update.c      | 292 +++++++++--------
>  src/box/tuple_update.h      |  25 +-
>  src/box/vinyl.c             |  19 +-
>  src/box/vy_upsert.c         |  31 +-
>  src/lib/bit/int96.h         |   1 +
>  src/lib/salad/rope.c        | 479 +++++-----------------------
>  src/lib/salad/rope.h        | 617 +++++++++++++++++++++++++++++++-----
>  test/box/misc.result        |   3 +-
>  test/box/update.result      |   2 +-
>  test/engine/update.result   |  67 ++++
>  test/engine/update.test.lua |  28 ++
>  test/engine/upsert.result   |   2 +-
>  test/unit/column_mask.c     |  33 +-
>  test/unit/rope.c            |   1 -
>  test/unit/rope_avl.c        |   1 -
>  test/unit/rope_basic.c      |   1 -
>  test/unit/rope_common.h     |  41 ++-
>  test/unit/rope_stress.c     |   5 +-
>  27 files changed, 993 insertions(+), 751 deletions(-)
> 




More information about the Tarantool-patches mailing list