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

Leonid Vasiliev lvasiliev at tarantool.org
Sat Apr 18 18:29:35 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
- review fixes

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: 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                        |   1 +
 src/box/CMakeLists.txt               |   1 +
 src/box/error.cc                     | 126 ++++++--
 src/box/error.h                      |  50 +++-
 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/net_box.lua              |   9 +-
 src/box/lua/tuple.c                  |  28 +-
 src/box/mp_error.cc                  | 552 +++++++++++++++++++++++++++++++++++
 src/box/mp_error.h                   |  60 ++++
 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                      |  15 +-
 src/lua/utils.h                      |   8 +-
 src/serializer_opts.h                |  44 +++
 test/app/fiber.result                |   5 +-
 test/box-tap/extended_error.test.lua | 136 +++++++++
 test/box/error.result                | 104 ++++++-
 test/box/error.test.lua              |  31 ++
 test/box/session_settings.result     |   3 +-
 test/engine/func_index.result        |  14 +-
 35 files changed, 1338 insertions(+), 139 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

-- 
2.7.4



More information about the Tarantool-patches mailing list