Tarantool development patches archive
 help / color / mirror / Atom feed
From: Alexander Turenko <alexander.turenko@tarantool.org>
To: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Alexander Turenko <alexander.turenko@tarantool.org>,
	tarantool-patches@freelists.org
Subject: [PATCH v4 0/4] Merger
Date: Wed,  8 May 2019 01:30:44 +0300	[thread overview]
Message-ID: <cover.1557267501.git.alexander.turenko@tarantool.org> (raw)

Changes since v3:

- Renamed decode_{array,map}() to decode_{array,map}_header().
- Clarified skip_header option with an example in the docbot comment.
- Dropped merger_context both from C and Lua.
- Eliminated pointless casts after malloc().
- Renamed merger source to merge source.
- Renamed <object>s_count to <object>_count.
- A buffer source now checks input msgpack (uses mp_check()).
- Fixed a source chunk validation, added test cases.
- Eliminated box_* types and functions where possible.
- Added merge_source_next() helper.
- Made base source functions static inline.
- Moved sources setting into the merger constructor.
- Removed dead code from merge_source_less().
- Create a source with refs == 1.
- Don't reallocate tuples.
- Rebased on top of the new master.
- Naming, comments and other minor changes suggested by Vladimir.
- Updated examples repo and usage in graphql.

More information about these changes can be found in review for 3rd
version of the patchset:

https://www.freelists.org/post/tarantool-patches/PATCH-v3-47-lua-add-nonrecursive-msgpack-decoding-functions,6
https://www.freelists.org/post/tarantool-patches/PATCH-v3-57-netbox-add-skip-header-option-to-use-with-buffer,4
https://www.freelists.org/post/tarantool-patches/PATCH-v3-67-Add-merger-for-tuples-streams-C-part,7
https://www.freelists.org/post/tarantool-patches/PATCH-v3-77-Add-merger-for-tuple-streams-Lua-part,7

More documentation and usage examples:
https://github.com/Totktonada/tarantool-merger-examples

issue: https://github.com/tarantool/tarantool/issues/3276
branch: https://github.com/tarantool/tarantool/tree/Totktonada/gh-3276-on-board-merger

Alexander Turenko (4):
  lua: add non-recursive msgpack decoding functions
  net.box: add skip_header option to use with buffer
  Add merger for tuples streams (C part)
  Add merger for tuple streams (Lua part)

 src/box/CMakeLists.txt        |    3 +
 src/box/lua/init.c            |    7 +-
 src/box/lua/merger.c          | 1143 +++++++++++++++++++++++++++++++++
 src/box/lua/merger.h          |   47 ++
 src/box/lua/merger.lua        |   41 ++
 src/box/lua/net_box.lua       |   56 +-
 src/box/merger.c              |  355 ++++++++++
 src/box/merger.h              |  150 +++++
 src/lua/msgpack.c             |   82 +++
 test/app-tap/msgpack.test.lua |  182 +++++-
 test/box-tap/merger.test.lua  |  768 ++++++++++++++++++++++
 test/box/net.box.result       |  222 ++++++-
 test/box/net.box.test.lua     |   86 ++-
 test/unit/CMakeLists.txt      |    3 +
 test/unit/merger.result       |   71 ++
 test/unit/merger.test.c       |  285 ++++++++
 16 files changed, 3468 insertions(+), 33 deletions(-)
 create mode 100644 src/box/lua/merger.c
 create mode 100644 src/box/lua/merger.h
 create mode 100644 src/box/lua/merger.lua
 create mode 100644 src/box/merger.c
 create mode 100644 src/box/merger.h
 create mode 100755 test/box-tap/merger.test.lua
 create mode 100644 test/unit/merger.result
 create mode 100644 test/unit/merger.test.c

-- 
2.21.0

             reply	other threads:[~2019-05-07 22:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-07 22:30 Alexander Turenko [this message]
2019-05-07 22:30 ` [PATCH v4 1/4] lua: add non-recursive msgpack decoding functions Alexander Turenko
2019-05-13 13:52   ` Vladimir Davydov
2019-05-07 22:30 ` [PATCH v4 2/4] net.box: add skip_header option to use with buffer Alexander Turenko
2019-05-13 13:52   ` Vladimir Davydov
2019-05-07 22:30 ` [PATCH v4 3/4] Add merger for tuples streams (C part) Alexander Turenko
2019-05-13 14:49   ` Vladimir Davydov
2019-05-07 22:30 ` [PATCH v4 4/4] Add merger for tuple streams (Lua part) Alexander Turenko
2019-05-13 14:49   ` 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.1557267501.git.alexander.turenko@tarantool.org \
    --to=alexander.turenko@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=vdavydov.dev@gmail.com \
    --subject='Re: [PATCH v4 0/4] Merger' \
    /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