box: save MsgPack encoding of original (user-provided) format clause
In scope of #4693 we need to save the MsgPack encoding of the original (i.e, user-provided) format clause in the tuple format structure for serialization to Lua and IPROTO (#8147, #8633): since tuple formats for spaces are created from space definitions, we need to also save the MsgPack encoding in the latter. Since we need to pass the format clause MsgPack encoding to the runtime tuple format constructor, refactor it to perform field definition decoding in-place. We cannot use default field definition array decoding for external formats (67578d1f), so introduce a new field name decoder for this case. Needed for #4693 NO_CHANGELOG=refactoring NO_DOC=refactoring NO_TEST=refactoring
Showing
- src/box/alter.cc 5 additions, 2 deletionssrc/box/alter.cc
- src/box/field_def.c 15 additions, 4 deletionssrc/box/field_def.c
- src/box/field_def.h 3 additions, 1 deletionsrc/box/field_def.h
- src/box/lua/net_box.lua 4 additions, 1 deletionsrc/box/lua/net_box.lua
- src/box/lua/tuple_format.c 27 additions, 32 deletionssrc/box/lua/tuple_format.c
- src/box/schema.cc 3 additions, 2 deletionssrc/box/schema.cc
- src/box/space_def.c 24 additions, 3 deletionssrc/box/space_def.c
- src/box/space_def.h 13 additions, 3 deletionssrc/box/space_def.h
- src/box/tuple.c 43 additions, 8 deletionssrc/box/tuple.c
- src/box/tuple.h 9 additions, 3 deletionssrc/box/tuple.h
- src/box/tuple_format.c 11 additions, 1 deletionsrc/box/tuple_format.c
- src/box/tuple_format.h 13 additions, 2 deletionssrc/box/tuple_format.h
- test/box/misc.result 3 additions, 7 deletionstest/box/misc.result
- test/box/misc.test.lua 3 additions, 6 deletionstest/box/misc.test.lua
Loading
Please register or sign in to comment