[tarantool-patches] [PATCH v4 00/20] refactoring: remove exceptions from triggers

Ilya Kosarev i.kosarev at tarantool.org
Mon Sep 23 18:56:51 MSK 2019


Triggers don't throw exceptions any more. Now they have
return codes to report errors.

Changes in v4:
    - Patchset is split into quite small & logically independent parts

Branch: https://github.com/tarantool/tarantool/tree/i.kosarev/gh-4247-remove-exceptions-from-triggers 
Issue: https://github.com/tarantool/tarantool/issues/4247

Ilya Kosarev (20):
  refactoring: change trigger function signature to return an int
  refactoring: wrap incorrigibly throwing calls in try..catch block
  refactoring: remove diag_raise and tnt_raise from triggers
  refactoring: remove exceptions from replica_check_id
  refactoring: clear privilege managing triggers from exceptions
  refactoring: remove exceptions from schema_find_grants
  refactoring: remove exceptions from index_def_new_from_tuple
  refactoring: remove exceptions from func_def_new_from_tuple
  refactoring: remove exceptions from sequence_def_new_from_tuple
  refactoring: remove exceptions from sequence_field_from_tuple
  refactoring: use non _xc version of functions in triggers
  refactoring: remove exceptions from space_def_new_from_tuple
  refactoring: remove exceptions from user_has_data
  refactoring: remove exceptions from alter_space_new
  refactoring: remove exceptions from user_def_new_from_tuple
  refactoring: remove exceptions from coll_id_def_new_from_tuple
  refactoring: remove exceptions from fk_constraint_def_new_from_tuple
  refactoring: remove exceptions from fk_constraint_check_dup_links
  refactoring: remove exceptions from ck_constraint_def_new_from_tuple
  refactoring: remove try..catch wrapper around trigger->run

 src/box/alter.cc            | 2254 +++++++++++++++++++++++------------
 src/box/applier.cc          |   17 +-
 src/box/ck_constraint.c     |    9 +-
 src/box/ck_constraint.h     |    4 +-
 src/box/identifier.h        |   10 -
 src/box/iproto.cc           |    3 +-
 src/box/lua/call.c          |    5 +-
 src/box/lua/sequence.c      |    3 +-
 src/box/lua/space.cc        |    3 +-
 src/box/memtx_space.c       |   17 +-
 src/box/relay.cc            |    5 +-
 src/box/replication.cc      |   43 +-
 src/box/replication.h       |    2 +-
 src/box/schema.cc           |   28 +-
 src/box/schema.h            |   17 +-
 src/box/sequence.h          |    9 -
 src/box/session.cc          |    3 +-
 src/box/tuple.h             |   69 --
 src/box/txn.c               |   10 +-
 src/box/user.cc             |   79 +-
 src/box/user.h              |   20 +-
 src/box/vinyl.c             |   44 +-
 src/box/vy_scheduler.c      |    3 +-
 src/lib/core/fiber.c        |    3 +-
 src/lib/core/trigger.cc     |   23 +-
 src/lib/core/trigger.h      |    2 +-
 src/lua/trigger.c           |    7 +-
 src/main.cc                 |    3 +-
 test/unit/cbus.c            |    3 +-
 test/unit/swim.c            |    6 +-
 test/unit/swim_test_utils.c |    3 +-
 31 files changed, 1708 insertions(+), 999 deletions(-)

-- 
2.17.1





More information about the Tarantool-patches mailing list