box: rework func cache update machinery
Tarantool used to assume that func_new call must not fail and it used to build a new func object by given definition just on func cache replace operation. We need to fix it to perform user-dependent risky actions like Lua function assemble in further patches. The replace method is disallowed for _func space because it is redundant and difficult to maintain in case of functions that have pre-compiled runtime. Needed for #4182, #1260
Showing
- src/box/alter.cc 32 additions, 28 deletionssrc/box/alter.cc
- src/box/errcode.h 1 addition, 1 deletionsrc/box/errcode.h
- src/box/func.c 0 additions, 8 deletionssrc/box/func.c
- src/box/func.h 0 additions, 3 deletionssrc/box/func.h
- src/box/func_def.c 17 additions, 0 deletionssrc/box/func_def.c
- src/box/func_def.h 12 additions, 0 deletionssrc/box/func_def.h
- src/box/schema.cc 7 additions, 21 deletionssrc/box/schema.cc
- src/box/schema.h 3 additions, 6 deletionssrc/box/schema.h
- test/box/function1.result 4 additions, 0 deletionstest/box/function1.result
- test/box/function1.test.lua 1 addition, 0 deletionstest/box/function1.test.lua
- test/box/misc.result 0 additions, 1 deletiontest/box/misc.result
- test/wal_off/func_max.result 2 additions, 2 deletionstest/wal_off/func_max.result
Loading
Please register or sign in to comment