alter: allow to restrict space format of a non-empty space
At first, now if a space is not empty, its format can not be restricted by nullability removal, or by restriction of a field type. The workaround was format removal and reset. Lets allow normal format restriction followed by space format checking. At second, now an index is rebuild on any change of its key definition. But there is no sense to rebuild it, if uniqueness is turned off, part field numbers and collations are not changed, because it means, that only types was restricted or extended. So format checking is enough. Needed for #3008
Showing
- src/box/alter.cc 58 additions, 63 deletionssrc/box/alter.cc
- src/box/key_def.cc 0 additions, 4 deletionssrc/box/key_def.cc
- src/box/memtx_hash.c 8 additions, 1 deletionsrc/box/memtx_hash.c
- src/box/space.c 2 additions, 10 deletionssrc/box/space.c
- src/box/tuple_format.c 35 additions, 0 deletionssrc/box/tuple_format.c
- src/box/tuple_format.h 16 additions, 0 deletionssrc/box/tuple_format.h
- src/box/vinyl.c 6 additions, 0 deletionssrc/box/vinyl.c
- test/box/alter.result 227 additions, 12 deletionstest/box/alter.result
- test/box/alter.test.lua 85 additions, 1 deletiontest/box/alter.test.lua
- test/vinyl/ddl.result 83 additions, 0 deletionstest/vinyl/ddl.result
- test/vinyl/ddl.test.lua 26 additions, 0 deletionstest/vinyl/ddl.test.lua
Loading
Please register or sign in to comment