[Tarantool-patches] [PATCH v2 0/5] Extending error functionality

Leonid Vasiliev lvasiliev at tarantool.org
Fri Apr 10 11:10:38 MSK 2020


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

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:
Lua traceback to error.
Posibility to create errors of a custom user type
Transparent marshalling error through net.box(gh-4398)

Leonid Vasiliev (5):
  error: Add a Lua backtrace to error
  error: Add the custom error type
  error: Increase the number of fields transmitted through IPROTO
  iproto: Add session settings for IPROTO
  iproto: Update error MsgPack encoding

 src/box/CMakeLists.txt               |   1 +
 src/box/errcode.h                    |   1 +
 src/box/error.cc                     |  87 ++++++-
 src/box/error.h                      |  49 +++-
 src/box/iproto.cc                    |  97 ++++++++
 src/box/iproto_constants.h           |   2 +
 src/box/lua/call.c                   |  29 ++-
 src/box/lua/error.cc                 | 189 ++++++++++++---
 src/box/lua/execute.c                |   2 +-
 src/box/lua/init.c                   |  56 +++++
 src/box/lua/mp_error.cc              | 454 +++++++++++++++++++++++++++++++++++
 src/box/lua/mp_error.h               |  49 ++++
 src/box/lua/net_box.lua              |  33 ++-
 src/box/lua/tuple.c                  |  28 +--
 src/box/session.cc                   |   3 +
 src/box/session.h                    |   3 +
 src/box/session_settings.h           |   1 +
 src/box/sql/func.c                   |   4 +-
 src/box/xrow.c                       |  19 +-
 src/lib/core/diag.c                  |  32 +++
 src/lib/core/diag.h                  |  11 +
 src/lib/core/exception.cc            |   1 +
 src/lib/core/mp_extension_types.h    |   5 +-
 src/lua/error.c                      |  12 +-
 src/lua/error.h                      |   3 +-
 src/lua/error.lua                    |  23 +-
 src/lua/msgpack.c                    |  28 ++-
 src/lua/msgpack.h                    |   8 +-
 src/lua/utils.c                      |  16 +-
 src/lua/utils.h                      |  26 +-
 test/app/fiber.result                |   4 +-
 test/box-tap/extended_error.test.lua | 164 +++++++++++++
 test/box/error.result                |   9 +-
 test/engine/func_index.result        |  18 +-
 34 files changed, 1344 insertions(+), 123 deletions(-)
 create mode 100644 src/box/lua/mp_error.cc
 create mode 100644 src/box/lua/mp_error.h
 create mode 100755 test/box-tap/extended_error.test.lua

-- 
2.7.4



More information about the Tarantool-patches mailing list