[Tarantool-patches] [PATCH V4 0/6] Extending error functionality

Leonid Vasiliev lvasiliev at tarantool.org
Thu Apr 16 20:38:39 MSK 2020


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

Changes from previous:
- traceback patch has been removed
- Vlad patches have been applied

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
* Lua backtrace

@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: send custom type in IProto
  error: add session setting for error type marshaling
  error: update constructors of some errors
  error: add error MsgPack encoding

Vladislav Shpilevoy (1):
  session: add offset to SQL session settings array

 extra/exports                        |   2 +
 src/box/CMakeLists.txt               |   1 +
 src/box/errcode.h                    |   1 +
 src/box/error.cc                     | 110 ++++++++---
 src/box/error.h                      |  44 ++++-
 src/box/iproto_constants.h           |   1 +
 src/box/lua/call.c                   |  33 ++--
 src/box/lua/error.cc                 |  42 ++--
 src/box/lua/execute.c                |   2 +-
 src/box/lua/init.c                   |  56 ++++++
 src/box/lua/mp_error.cc              | 373 +++++++++++++++++++++++++++++++++++
 src/box/lua/mp_error.h               |  49 +++++
 src/box/lua/net_box.lua              |  14 +-
 src/box/lua/tuple.c                  |  28 +--
 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                       |  11 +-
 src/lib/core/mp_extension_types.h    |   1 +
 src/lua/error.c                      |   2 -
 src/lua/error.h                      |   3 +-
 src/lua/error.lua                    |  14 +-
 src/lua/msgpack.c                    |  28 +--
 src/lua/msgpack.h                    |   8 +-
 src/lua/utils.c                      |  13 +-
 src/lua/utils.h                      |   8 +-
 src/serializer_opts.h                |  44 +++++
 test/app/fiber.result                |   5 +-
 test/box-tap/extended_error.test.lua | 157 +++++++++++++++
 test/box/error.result                | 106 +++++++++-
 test/box/error.test.lua              |  32 +++
 test/box/session_settings.result     |   3 +-
 test/engine/func_index.result        |  14 +-
 36 files changed, 1160 insertions(+), 134 deletions(-)
 create mode 100644 src/box/lua/mp_error.cc
 create mode 100644 src/box/lua/mp_error.h
 create mode 100644 src/serializer_opts.h
 create mode 100755 test/box-tap/extended_error.test.lua

-- 
2.7.4



More information about the Tarantool-patches mailing list