Vova, Alexey 3) The exception is not enough for that case. We should return a proper error message in the json reply.
On Mon, Feb 26, 2018 at 2:20 PM, Vladimir Ozerov <voze...@gridgain.com> wrote: > My 50 cents: > 1) Agree with Pavel, not need to deserialize at all > 2) May be you see everything in the upper case because this is how CREATE > TABLE works - every object name (table name, column name, etc.) are > converted to upper case by default. This is expected behavior of every SQL > engine. If you want to preserve cases please consider using qoutes around > column names (e.g. CREATE TABLE "myTable"("myColumn" INT PRIMARY KEY). > 3) I think we should throw an exception in this case - objects with > recursive dependencies cannot be expressed in text form (whether this is > XML, JSON or anything else). > > On Mon, Feb 26, 2018 at 10:00 AM, Pavel Tupitsyn <ptupit...@apache.org> > wrote: > > > Hi Alexey, > > > > 1) IMO for this task you should ALWAYS work in binary mode. > > What is the use case for deserializing with a real class and then > > serializing to JSON? > > Looks like a waste of resources to me. > > > > 2) This should not be the case, please re-check your code. > > Binary meta preserves original case (stores field names as is), just > > checked this with 2.4 build. > > > > 3) JSON serializers typically handle this by adding special fields ($id > and > > $ref in Json.NET, for example). > > But I believe this is a rare use case and can be skipped in initial > > implementation. > > > > Thanks, > > Pavel > > > > On Mon, Feb 26, 2018 at 7:38 AM, Alexey Kuznetsov <akuznet...@apache.org > > > > wrote: > > > > > Hi, > > > > > > I'm working on IGNITE-7803 REST: Add support to get values inserted > via > > > API or SQL[1] > > > > > > And found following issues: > > > > > > 1. First, if server node that will handle REST request does not have > > class > > > of object that we want to get from cache I need to set > cache.keepBinary() > > > in order to avoid object deserialization and work directly with binary > > > metadata directly. > > > > > > But in some cases node could have class in classpath and user may need > to > > > use that class. > > > > > > How about to add option "keepBinary=true" and let user handle this by > > > himself? > > > > > > 2. Second, in binary metadata all names stored in upper case. So, > binary > > > object converted to JSON will be like: {"ID": 1, "NAME": "Alex", > > "SALARY": > > > 300} > > > > > > It is OK? > > > > > > 3. Should we handle circular references in binary objects? If yes, then > > > how? > > > > > > > > > [1] https://issues.apache.org/jira/browse/IGNITE-7803 > > > > > > > > > > > > -- > > > Alexey Kuznetsov > > > > > > -- Sergey Kozlov GridGain Systems www.gridgain.com