[ https://issues.apache.org/jira/browse/IGNITE-1630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15173607#comment-15173607 ]
Pavel Tupitsyn edited comment on IGNITE-1630 at 3/1/16 11:26 AM: ----------------------------------------------------------------- 1) Done 2) Done (except fields queries, where this is not possible) 3) Allows to specify Java type name to be used in SQL index, if the user wants to override default mapping 4) Improves performance of the fields query. Instead allocating a List<object> and then unboxing the values from it, we can read fields directly as specific types. LINQ provider uses this method when doing fields queries. I'd like to avoid adding another InternalsVisibleTo for LINQ project, so this has to be on public API. And by itself, this method is not only faster than old one, but also more usable. {code}cache.QueryFields((r,c)=>new MyClass(r.ReadInt(), r.ReadString())){code} is much better than working with untyped list. 5) Ignite SQL has reserved "_key" and "_val" field names to query cache entry key or value as a whole. LINQ provider looks at [QuerySqlField] attributes to generate field names. 6) This is just a placeholder. It is much better than "Console.WriteLine" scattered all over the codebase that we had before. There are separate tasks for logging, I just did not want to add more WriteLine calls. 7) AsQueryable is an existing extension method in System.Linq.Queryable. Our method should stand out, because it implies a totally different mechanism underneath. 8) Yes, we do, it provides a way to eliminate LINQ translation overhead. The design is the same as in Entity Framework and will be familiar to the users. was (Author: ptupitsyn): 1) Done 2) Done (except fields queries, where this is not possible) 3) Allows to specify Java type name to be used in SQL index, if the user wants to override default mapping 4) Improves performance of the fields query. Instead allocating a List<object> and then unboxing the values from it, we can read fields directly as specific types. LINQ provider uses this method when doing fields queries. I'd like to avoid adding another InternalsVisibleTo for LINQ project, so this has to be on public API. And by itself, this method is not only faster than old one, but also more usable. {code}cache.QueryFields((r,c)=>new MyClass(r.ReadInt(), r.ReadString())){code} is much better than working with untyped list. 5) Ignite SQL has reserved "_key" and "_val" field names to query cache entry key or value as a whole. LINQ provider looks at [QuerySqlField] attributes to generate field names. > .Net: Create LINQ adapter for queries. > -------------------------------------- > > Key: IGNITE-1630 > URL: https://issues.apache.org/jira/browse/IGNITE-1630 > Project: Ignite > Issue Type: Task > Components: platforms > Affects Versions: ignite-1.4 > Reporter: Vladimir Ozerov > Assignee: Pavel Tupitsyn > Priority: Critical > Fix For: 1.6 > > > SQL queries are one of the most frequently used features in data grids. And > .Net comes with a very nice LINQ concept. > * LINQ provider should come in a separate assembly > * Make sure that assembly is included in binary distribution -- This message was sent by Atlassian JIRA (v6.3.4#6332)