Currently, marshaller determines the type of field (BYTE, INT, STRING etc.) only by the Class of data being serialized. It seems rather non-trivial to manage marshaling parameters at cache creation point. Alternatively, there exists simple and flexible way: just to introduce new Java type, say, StringWithEncoding, but it looks ugly to my mind.
2017-07-28 14:45 GMT+03:00 Vladimir Ozerov <voze...@gridgain.com>: > String encoding is a concept similar to "collation" in RDBMS. You can > define it either globally, or on per-table basis. The same should be done > for Ignite. We do not define behavior of a type. We define behavior of a > *storage*. > > Two cases when proposed approach with per-type and per-type-field approach > doesn't work: > 1) I have a class Person with field "name". I have two caches/tables - one > for US persons, where name is in Latin, another for RU persons with > Cyrillic names. How can achieve optimal encoding formats for both tables? > 2) I have an empty grid. Now I want to create a cache/table with custom > encoding. How can I do that without cluster restart? Nohow, because > BinaryTypeConfiguration configured statically, while caches/tables can be > created in runtime. >