Skip to content
Snippets Groups Projects
  • Vladislav Shpilevoy's avatar
    97a6a4c5
    collation: split collation into coll and id objects · 97a6a4c5
    Vladislav Shpilevoy authored
    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.
    97a6a4c5
    History
    collation: split collation into coll and id objects
    Vladislav Shpilevoy authored
    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.