On Thu, Jun 25, 2015 at 11:21 PM, Semyon Boikov <sboi...@gridgain.com> wrote:
> Just want to remind that deserialized value is needed not only for > indexing, now deserialized value is passed to EntryProcessors, cache > interceptors, cache store, cache events, scan query, continuous query > filter, so if user uses one of these features class still will be needed on > servers. > Semyon, I don't think we need to deserialize in this case, but rather pass some CacheObject wrapper around the binary format. D. > > On Thu, Jun 25, 2015 at 7:28 PM, Dmitriy Setrakyan <dsetrak...@apache.org> > wrote: > > > Igniters, > > > > As a part of Denis Magda's work on IGNITE-950 > > <https://issues.apache.org/jira/browse/IGNITE-950>, we are not going to > > require that server side nodes have class definitions of user classes, as > > we are going to keep them in the binary format. This is a BIG deal, as > now > > users will not have to copy their application JAR files to the server > > nodes. > > > > However, this change also affects the way we support queries. Previously, > > we simply extracted fields using reflection to do index lookups, but now > we > > cannot use reflection, since we do not have class definitions on the > > servers anymore. > > > > As a result, the following restrictions are going to be introduced to the > > query processing: > > > > > > 1. @QuerySqlField annotation can't be set to a getter method anymore, > > only to fields. > > 2. Comparable on _key and _value type will not work anymore. However, > > "_key" and "_value" types are auto-generated and mostly used > internally > > by > > Ignite itself. > > > > > > Generally, I believe that both (1) and (2) are not a big deal. However, I > > would like to confirm that for the (2), we can still retrieve and sort > > primitive values and Strings natively. > > > > Serj, given that you are working on the query changes, can you confirm > the > > (2)? > > > > D. > > >