From: Kirill Shcherbatov <kshcherbatov@tarantool.org>
To: tarantool-patches@freelists.org, vdavydov.dev@gmail.com
Cc: kostja@tarantool.org, Kirill Shcherbatov <kshcherbatov@tarantool.org>
Subject: [PATCH v1 0/5] box: JSON preparatory patchset
Date: Sun, 23 Dec 2018 15:40:35 +0300 [thread overview]
Message-ID: <cover.1545567929.git.kshcherbatov@tarantool.org> (raw)
Preparatory patch set for JSON indexes:
- Implemented tuple_validate with tuple_init_field_map.
- Refactored field type/nullability check routines.
- Implemented a new json_token_path_snprint routine able to print
JSON path to field by field specified working like cannonical
snprintf routine
- Reworked box error messages to use the json_token_path_snprint
helper to report field names in error in error messages.
- Reworked tuple_init_field_map with required fields bitmap -
a scallable approach able to work with JSON multilevel fields
tree.
Branch: http://github.com/tarantool/tarantool/tree/kshch/gh-1012-json-indexes-preparational
Issue: https://github.com/tarantool/tarantool/issues/1012
Kirill Shcherbatov (5):
box: refactor tuple_validate_raw
box: refactor field type and nullability checks
lib: introduce json_token_path_snprint
box: refactor ER_{FIELD_TYPE, ACTION_MISMATCH}
box: refactor tuple_init_field_map to use bitmap
src/box/errcode.h | 6 +-
src/box/index.cc | 22 +--
src/box/key_def.c | 12 +-
src/box/key_def.h | 30 ++--
src/box/memtx_rtree.c | 2 +-
src/box/tuple.c | 35 ++---
src/box/tuple.h | 15 +-
src/box/tuple_format.c | 213 +++++++++++++++++++++-------
src/box/tuple_format.h | 23 +++
src/lib/json/json.c | 46 ++++++
src/lib/json/json.h | 13 ++
test/box/alter.result | 6 +-
test/box/alter_limits.result | 15 +-
test/box/blackhole.result | 6 +-
test/box/ddl.result | 32 +++--
test/box/hash.result | 15 +-
test/box/misc.result | 2 +-
test/box/rtree_misc.result | 18 ++-
test/box/sequence.result | 3 +-
test/box/sql.result | 12 +-
test/box/tree_pk.result | 9 +-
test/box/tree_pk_multipart.result | 8 +-
test/engine/ddl.result | 116 ++++++++-------
test/engine/indices_any_type.result | 12 +-
test/engine/null.result | 85 ++++++-----
test/engine/tree.result | 12 +-
test/engine/tree_variants.result | 12 +-
test/engine/update.result | 6 +-
test/engine/upsert.result | 9 +-
test/replication/misc.result | 3 +-
test/unit/json.c | 20 ++-
test/unit/json.result | 113 +++++++++------
test/vinyl/constraint.result | 30 ++--
test/vinyl/errinj.result | 15 +-
test/vinyl/gh.result | 3 +-
test/vinyl/savepoint.result | 11 +-
36 files changed, 640 insertions(+), 350 deletions(-)
--
2.19.2
next reply other threads:[~2018-12-23 12:40 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-23 12:40 Kirill Shcherbatov [this message]
2018-12-23 12:40 ` [PATCH v1 1/5] box: refactor tuple_validate_raw Kirill Shcherbatov
2018-12-24 16:40 ` Vladimir Davydov
2018-12-23 12:40 ` [PATCH v1 2/5] box: refactor field type and nullability checks Kirill Shcherbatov
2018-12-24 16:40 ` Vladimir Davydov
2018-12-23 12:40 ` [PATCH v1 3/5] lib: introduce json_token_path_snprint Kirill Shcherbatov
2018-12-24 19:13 ` Vladimir Davydov
2018-12-25 8:53 ` [tarantool-patches] " Kirill Shcherbatov
2018-12-25 16:09 ` Vladimir Davydov
2018-12-23 12:40 ` [PATCH v1 4/5] box: refactor ER_{FIELD_TYPE, ACTION_MISMATCH} Kirill Shcherbatov
2018-12-24 19:36 ` Vladimir Davydov
2018-12-25 8:53 ` [tarantool-patches] " Kirill Shcherbatov
2018-12-25 9:55 ` Vladimir Davydov
2018-12-23 12:40 ` [PATCH v1 5/5] box: refactor tuple_init_field_map to use bitmap Kirill Shcherbatov
2018-12-25 17:04 ` Vladimir Davydov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1545567929.git.kshcherbatov@tarantool.org \
--to=kshcherbatov@tarantool.org \
--cc=kostja@tarantool.org \
--cc=tarantool-patches@freelists.org \
--cc=vdavydov.dev@gmail.com \
--subject='Re: [PATCH v1 0/5] box: JSON preparatory patchset' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox