[
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)