From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp46.i.mail.ru (smtp46.i.mail.ru [94.100.177.106]) (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 B55F84696C3 for ; Fri, 10 Apr 2020 02:50:54 +0300 (MSK) From: Serge Petrenko Date: Fri, 10 Apr 2020 02:50:38 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v2 0/4] introduce indices over UUID List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: v.shpilevoy@tarantool.org Cc: tarantool-patches@dev.tarantool.org https://github.com/tarantool/tarantool/issues/4268 https://github.com/tarantool/tarantool/tree/sp/gh-4268-uuid-type Changes in v2: - disallow to insert strings and binstrings to uuid fields. - move mp_uuid files to uuid lib - extract mpstream to a separate lib - review fixes as per review from Vlad Serge Petrenko (4): refactoring: extract mpstream into a separate library uuid: expose tt_uuid_validate method box: add MsgPack encoding/decoding for UUID box: introduce indices by UUID extra/exports | 3 + src/CMakeLists.txt | 2 +- src/box/CMakeLists.txt | 2 +- src/box/field_def.c | 32 +++++---- src/box/field_def.h | 1 + src/box/lua/call.c | 2 +- src/box/lua/misc.cc | 2 +- src/box/lua/net_box.c | 2 +- src/box/lua/tuple.c | 2 +- src/box/sql.c | 3 +- src/box/sql/func.c | 2 +- src/box/sql/vdbe.c | 2 +- src/box/sql/vdbemem.c | 2 +- src/box/tuple_compare.cc | 59 ++++++++++++++++ src/box/xrow.c | 2 +- src/lib/CMakeLists.txt | 1 + src/lib/core/CMakeLists.txt | 1 - src/lib/core/mp_extension_types.h | 2 + src/lib/mpstream/CMakeLists.txt | 2 + src/lib/{core => mpstream}/mpstream.c | 13 +++- src/lib/{core => mpstream}/mpstream.h | 5 ++ src/lib/msgpuck | 2 +- src/lib/uuid/CMakeLists.txt | 2 +- src/lib/uuid/mp_uuid.c | 98 +++++++++++++++++++++++++++ src/lib/uuid/mp_uuid.h | 90 ++++++++++++++++++++++++ src/lib/uuid/tt_uuid.c | 3 + src/lib/uuid/tt_uuid.h | 16 +++-- src/lua/msgpack.c | 29 ++++++-- src/lua/msgpackffi.lua | 14 ++++ src/lua/utils.c | 20 ++++++ src/lua/utils.h | 5 ++ src/lua/uuid.lua | 9 --- test/app-tap/lua/serializer_test.lua | 8 +++ test/app-tap/msgpackffi.test.lua | 3 +- test/app/msgpack.result | 21 ++++++ test/app/msgpack.test.lua | 13 ++++ test/app/uuid.result | 13 +++- test/app/uuid.test.lua | 5 ++ test/box/tuple.result | 81 ++++++++++++++++++++++ test/box/tuple.test.lua | 25 +++++++ test/engine/ddl.result | 97 +++++++++++++++++++++++++- test/engine/ddl.test.lua | 42 +++++++++++- test/engine/uuid.result | 55 +++++++++++++++ test/engine/uuid.test.lua | 27 ++++++++ test/unit/uuid.c | 25 ++++++- test/unit/uuid.result | 8 ++- third_party/lua-cjson/lua_cjson.c | 27 +++++--- third_party/lua-yaml/lyaml.cc | 17 ++++- 48 files changed, 829 insertions(+), 68 deletions(-) create mode 100644 src/lib/mpstream/CMakeLists.txt rename src/lib/{core => mpstream}/mpstream.c (95%) rename src/lib/{core => mpstream}/mpstream.h (97%) create mode 100644 src/lib/uuid/mp_uuid.c create mode 100644 src/lib/uuid/mp_uuid.h create mode 100644 test/engine/uuid.result create mode 100644 test/engine/uuid.test.lua -- 2.21.1 (Apple Git-122.3)