[ 
https://issues.apache.org/jira/browse/IGNITE-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15856275#comment-15856275
 ] 

Pavel Tupitsyn commented on IGNITE-4425:
----------------------------------------

[~GuruStron], looks good to me in general. Some minor things:

* {{ParameterExpression is not supported for 'Contains' clauses.}} - as I 
understand, this happens only when {{Contains}} argument comes from 
{{CompiledQuery}} delegate parameter. So we can be more descriptive by saying 
something like {{'Contains' clause coming from compiled query parameter is not 
supported.}}
* Let's extract Contains handling from {{VisitSubQuery}} to a separate method
* {{subQueryModel.ResultOperators.First()}} is called twice and cast to 
{{ContainsResultOperator}}
* {{GetInvalues}} can be made static
* We can pass {{inValues}} to {{AppendInParameters}} directly and filter for 
nulls right there. Also, enumerable null check seems to be redundant there.
* Unused imports in {{CacheQueryExpressionVisitor}}

> .NET: Support "ICollection.Contains" in LINQ
> --------------------------------------------
>
>                 Key: IGNITE-4425
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4425
>             Project: Ignite
>          Issue Type: Improvement
>          Components: platforms
>            Reporter: Pavel Tupitsyn
>            Assignee: Sergey Stronchinskiy
>              Labels: .NET, LINQ
>             Fix For: 2.0
>
>
> SQL supports IN queries
> https://apacheignite.readme.io/docs/sql-performance-and-debugging#sql-performance-and-usability-considerations
> Example SQL:
> {code}
> new SqlFieldsQuery("select p.name from Person p where id in (?, ?)", 1, 3);
> {code}
> Add support in LINQ like this:
> {code}
> persons.AsCacheQueryable().Where(x => new[] {1,3}.Contains(x.Value.Id))
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to