Tarantool development patches archive
 help / color / mirror / Atom feed
From: Leonid Vasiliev <lvasiliev@tarantool.org>
To: v.shpilevoy@tarantool.org, alexander.turenko@tarantool.org
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH V6 00/10] Extending error functionality
Date: Mon, 20 Apr 2020 01:25:02 +0300	[thread overview]
Message-ID: <cover.1587334824.git.lvasiliev@tarantool.org> (raw)

https://github.com/tarantool/tarantool/issues/4398
https://github.com/tarantool/tarantool/tree/lvasiliev/gh-4398-expose-error-module-5

Changes from previous:
- traceback patch has been removed
- Vlad patches have been applied
- Update old tests and add new
- Make iproto errors reuse mp_error module

According to https://github.com/tarantool/tarantool/issues/4398
(and after some discussion) we would like box.error to have:
* Ability to create new error types
* Transparent marshalling through net.box

@Changelog
Added:
Posibility to create errors of a custom user type
Transparent marshalling error through net.box(gh-4398)

Leonid Vasiliev (5):
  error: add custom error type
  error: add session setting for error type marshaling
  error: update constructors of some errors
  error: add error MsgPack encoding
  error: fix iproto error stack overlapped by old error

Vladislav Shpilevoy (5):
  session: add offset to SQL session settings array
  box: move Lua MP_EXT decoder from tuple.c
  error: export error_unref() function
  error: make iproto errors reuse mp_error module
  iproto: rename IPROTO_ERROR and IPROTO_ERROR_STACK

 extra/exports                        |   3 +
 src/box/CMakeLists.txt               |   6 +-
 src/box/error.cc                     | 125 ++++++--
 src/box/error.h                      |  51 +++-
 src/box/iproto_constants.h           |   9 +-
 src/box/lua/call.c                   |  25 +-
 src/box/lua/error.cc                 |  42 ++-
 src/box/lua/execute.c                |   2 +-
 src/box/lua/init.c                   |  54 ++++
 src/box/lua/net_box.lua              | 103 +++++--
 src/box/lua/tuple.c                  |  28 +-
 src/box/mp_error.cc                  | 554 +++++++++++++++++++++++++++++++++++
 src/box/mp_error.h                   |  74 +++++
 src/box/session.cc                   |   5 +-
 src/box/session.h                    |   5 +-
 src/box/session_settings.c           |  56 ++++
 src/box/session_settings.h           |   1 +
 src/box/sql/build.c                  |  18 +-
 src/box/sql/func.c                   |   4 +-
 src/box/xrow.c                       |  81 +----
 src/lib/core/diag.c                  |  20 ++
 src/lib/core/diag.h                  |  21 +-
 src/lib/core/mp_extension_types.h    |   1 +
 src/lua/error.c                      |   2 +-
 src/lua/error.h                      |   1 +
 src/lua/error.lua                    |  14 +-
 src/lua/msgpack.c                    |  27 +-
 src/lua/msgpack.h                    |   8 +-
 src/lua/utils.c                      |  15 +-
 src/lua/utils.h                      |   7 +-
 src/serializer_opts.h                |  44 +++
 test/app/fiber.result                |   5 +-
 test/box-tap/extended_error.test.lua | 150 ++++++++++
 test/box/error.result                |  65 +++-
 test/box/error.test.lua              |  15 +
 test/box/iproto.result               |  43 +--
 test/box/iproto.test.lua             |  17 +-
 test/box/session_settings.result     |   3 +-
 test/engine/func_index.result        |  14 +-
 test/unit/CMakeLists.txt             |   2 +
 test/unit/mp_error.cc                | 473 ++++++++++++++++++++++++++++++
 test/unit/mp_error.result            |  44 +++
 test/unit/xrow.cc                    | 183 +-----------
 test/unit/xrow.result                |  27 +-
 44 files changed, 1933 insertions(+), 514 deletions(-)
 create mode 100644 src/box/mp_error.cc
 create mode 100644 src/box/mp_error.h
 create mode 100644 src/serializer_opts.h
 create mode 100755 test/box-tap/extended_error.test.lua
 create mode 100644 test/unit/mp_error.cc
 create mode 100644 test/unit/mp_error.result

-- 
2.7.4

             reply	other threads:[~2020-04-19 22:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-19 22:25 Leonid Vasiliev [this message]
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 01/10] error: add custom error type Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 02/10] session: add offset to SQL session settings array Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 03/10] error: add session setting for error type marshaling Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 04/10] error: update constructors of some errors Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 05/10] box: move Lua MP_EXT decoder from tuple.c Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 06/10] error: add error MsgPack encoding Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 07/10] error: export error_unref() function Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 08/10] error: make iproto errors reuse mp_error module Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 09/10] iproto: rename IPROTO_ERROR and IPROTO_ERROR_STACK Leonid Vasiliev
2020-04-19 22:25 ` [Tarantool-patches] [PATCH V6 10/10] error: fix iproto error stack overlapped by old error Leonid Vasiliev
2020-04-20  0:26 ` [Tarantool-patches] [PATCH V6 00/10] Extending error functionality Vladislav Shpilevoy
2020-04-20  8:05   ` lvasiliev
2020-04-20  8:05   ` Kirill Yukhin
2020-04-21 19:03     ` Konstantin Osipov
2020-04-22 16:17       ` lvasiliev
2020-04-22 17:23         ` Konstantin Osipov
2020-04-20  8:30 ` Kirill Yukhin

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.1587334824.git.lvasiliev@tarantool.org \
    --to=lvasiliev@tarantool.org \
    --cc=alexander.turenko@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH V6 00/10] Extending error functionality' \
    /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