config/schema: support field deletion using :set()
This commit implements the `<schema object>:set()` algorithm in a more accurate way and it solves several drawbacks of the previous implementation. * It was impossible to set a field that is nested to a record or a map that has the box.NULL value (#10190). * It was impossible to set a field to the box.NULL value (#10193). * It was impossible to delete a field, now `nil` RHS value means the deletion (#10194). Fixes #10190 Fixes #10193 Fixes #10194 NO_DOC=Included into https://github.com/tarantool/doc/issues/4279
Showing
- changelogs/unreleased/config-schema-set-to-null-or-nil.md 4 additions, 0 deletionschangelogs/unreleased/config-schema-set-to-null-or-nil.md
- src/box/lua/config/utils/schema.lua 84 additions, 16 deletionssrc/box/lua/config/utils/schema.lua
- test/config-luatest/cbuilder.lua 0 additions, 18 deletionstest/config-luatest/cbuilder.lua
- test/config-luatest/schema_test.lua 141 additions, 0 deletionstest/config-luatest/schema_test.lua
Loading
Please register or sign in to comment