[tarantool-patches] Re: [PATCH v4 03/20] refactoring: remove diag_raise and tnt_raise from triggers

Sergey Ostanevich sergos at tarantool.org
Mon Oct 21 17:45:48 MSK 2019


LGTM.

On 21 Oct 14:56, Ilya Kosarev wrote:
> 
> Hi!
> 
> Thanks for your review.
> 
> Not really. func_new return null only in case either func_c_new, func_lua_new or func_sql_builtin_new (depending on which one was called) returns null. Each of them is doing diag_set before returning NULL, except func_lua_new, which also returns null if invoked func_persistent_lua_load could not allocate memory and therefore didn't exit correctly. Though in this case   func_persistent_lua_load sets diagnostics itself.
> 
> Sincerely,
> Ilya Kosarev
> 
> 
> >Среда, 16 октября 2019, 13:47 +03:00 от Sergey Ostanevich <sergos at tarantool.org>:
> >
> >Hi!
> >
> >Just one nit - please, fix. Otherwise LGTM.
> >
> >Sergos
> >
> >
> >On 23 Sep 18:56, Ilya Kosarev wrote:
> >> `tnt_raise` and `diag_raise` are now properly replaced with
> >> `diag_set` and `return -1` in alter.cc triggers.
> >> 
> >> Part of #4247
> >> ---
> >>  src/box/alter.cc | 213 ++++++++++++++++++++++++++++++-----------------
> >>  1 file changed, 137 insertions(+), 76 deletions(-)
> >> 
> >> diff --git a/src/box/alter.cc b/src/box/alter.cc
> >> index 2c1c31023..1fce160f5 100644
> >> --- a/src/box/alter.cc
> >> +++ b/src/box/alter.cc
> >[...]
> >
> >>  		user_cache_delete(uid);
> >>  		struct trigger *on_rollback =
> >> @@ -2960,7 +2990,7 @@ on_replace_dd_func(struct trigger * /* trigger */, void *event)
> >>  			txn_alter_trigger_new(on_create_func_rollback, NULL);
> >>  		struct func *func = func_new(def);
> >
> >This one can return NULL without setting diagnositcs.
> >
> >>  		if (func == NULL)
> >> -			diag_raise();
> >> +			return -1;
> >>  		def_guard.is_active = false;
> >>  		func_cache_insert(func);
> >>  		on_rollback->data = func;
> >
> 
> 
> -- 
> Ilya Kosarev




More information about the Tarantool-patches mailing list