collation: split collation into coll and id objects
In the issue #3290 the important problem appeared - Tarantool can not create completely internal collations with no ID, name, owner. Just for internal usage. Original struct coll can not be used for this since * it has fields that are not needed in internals; * collation name is public thing, and the collation cache uses it, so it would be necessary to forbid to a user usage of some system names; * when multiple collations has the same comparator and only their names/owners/IDs are different, the separate UCollator objects are created, but it would be good to be able to reference a single one. This patch renames coll to coll_id, coll_def to call_id_def and introduces coll - pure collation object with no any user defined things. Needed for #3290.
Showing
- src/CMakeLists.txt 2 additions, 0 deletionssrc/CMakeLists.txt
- src/box/CMakeLists.txt 3 additions, 3 deletionssrc/box/CMakeLists.txt
- src/box/alter.cc 55 additions, 50 deletionssrc/box/alter.cc
- src/box/coll_id.c 65 additions, 0 deletionssrc/box/coll_id.c
- src/box/coll_id.h 77 additions, 0 deletionssrc/box/coll_id.h
- src/box/coll_id_cache.c 25 additions, 37 deletionssrc/box/coll_id_cache.c
- src/box/coll_id_cache.h 14 additions, 13 deletionssrc/box/coll_id_cache.h
- src/box/coll_id_def.c 1 addition, 33 deletionssrc/box/coll_id_def.c
- src/box/coll_id_def.h 54 additions, 0 deletionssrc/box/coll_id_def.h
- src/box/error.cc 2 additions, 0 deletionssrc/box/error.cc
- src/box/key_def.c 13 additions, 10 deletionssrc/box/key_def.c
- src/box/key_def.h 5 additions, 2 deletionssrc/box/key_def.h
- src/box/lua/space.cc 6 additions, 2 deletionssrc/box/lua/space.cc
- src/box/schema.cc 4 additions, 4 deletionssrc/box/schema.cc
- src/box/tuple.c 3 additions, 3 deletionssrc/box/tuple.c
- src/box/tuple_compare.cc 2 additions, 3 deletionssrc/box/tuple_compare.cc
- src/box/tuple_hash.cc 0 additions, 1 deletionsrc/box/tuple_hash.cc
- src/coll.c 54 additions, 99 deletionssrc/coll.c
- src/coll.h 14 additions, 23 deletionssrc/coll.h
- src/coll_def.c 63 additions, 0 deletionssrc/coll_def.c
Loading
Please register or sign in to comment