From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp63.i.mail.ru (smtp63.i.mail.ru [217.69.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id CDF5746970E for ; Tue, 24 Dec 2019 01:41:52 +0300 (MSK) From: Vladislav Shpilevoy Date: Mon, 23 Dec 2019 23:41:47 +0100 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 0/3] JSON update List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org The patchset finishes JSON update feature by allowance of making multiple update operations with the same prefix in one update(). The patchset consists of relatively independent self-explaining parts. First part is a preparation for having not just a set of updates, but for having an update tree, with number and string keys. Second part makes it possible to do multiple update operations having the same prefix if it ends on an array index. The final part introduces map updates, documentation request, and finishes the feature. Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-1261-json-update Issue: https://github.com/tarantool/tarantool/issues/1261 Vladislav Shpilevoy (3): tuple: make update operation tokens consumable tuple: JSON path update intersection at arrays tuple: JSON path update intersection at maps src/box/CMakeLists.txt | 2 + src/box/xrow_update_array.c | 97 +++++++- src/box/xrow_update_bar.c | 14 +- src/box/xrow_update_field.c | 30 +++ src/box/xrow_update_field.h | 209 ++++++++++++++++- src/box/xrow_update_map.c | 453 ++++++++++++++++++++++++++++++++++++ src/box/xrow_update_route.c | 387 ++++++++++++++++++++++++++++++ test/box/update.result | 329 ++++++++++++++++++++++++++ test/box/update.test.lua | 166 +++++++++++++ 9 files changed, 1672 insertions(+), 15 deletions(-) create mode 100644 src/box/xrow_update_map.c create mode 100644 src/box/xrow_update_route.c -- 2.21.0 (Apple Git-122.2)