[jira] [Commented] (IGNITE-4904) .NET: DML via LINQ

2017-05-26 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-4904:


Merged to master ({{d38ca8b1004effefa5126981f434649d26db1e68}}).

Ticket for {{UpdateAll}}: IGNITE-5298

> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET, LINQ, important
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}. 
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method 
> like this:
> {code}
> public static int DeleteAll(this ICache cache, 
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression 
> trees, and multi-line methods are not supported. We should come up with a way 
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache, 
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that 
> member.
> We should probably do delete as a separate task first.



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


[jira] [Commented] (IGNITE-4904) .NET: DML via LINQ

2017-05-26 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on IGNITE-4904:


Github user asfgit closed the pull request at:

https://github.com/apache/ignite/pull/2009


> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET, LINQ, important
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}. 
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method 
> like this:
> {code}
> public static int DeleteAll(this ICache cache, 
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression 
> trees, and multi-line methods are not supported. We should come up with a way 
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache, 
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that 
> member.
> We should probably do delete as a separate task first.



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


[jira] [Commented] (IGNITE-4904) .NET: DML via LINQ

2017-05-26 Thread Vladimir Ozerov (JIRA)

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

Vladimir Ozerov commented on IGNITE-4904:
-

[~ptupitsyn], agree.

> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET, LINQ, important
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}. 
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method 
> like this:
> {code}
> public static int DeleteAll(this ICache cache, 
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression 
> trees, and multi-line methods are not supported. We should come up with a way 
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache, 
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that 
> member.
> We should probably do delete as a separate task first.



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


[jira] [Commented] (IGNITE-4904) .NET: DML via LINQ

2017-05-26 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-4904:


{{RemoveAll}} done, TC looks good. [~vozerov] please have a look. 
I think we should release {{RemoveAll}} now and implement {{UpdateAll}} later 
(it is a lot more complicated), do you agree?

> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET, LINQ
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}. 
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method 
> like this:
> {code}
> public static int DeleteAll(this ICache cache, 
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression 
> trees, and multi-line methods are not supported. We should come up with a way 
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache, 
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that 
> member.
> We should probably do delete as a separate task first.



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


[jira] [Commented] (IGNITE-4904) .NET: DML via LINQ

2017-05-25 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on IGNITE-4904:


GitHub user ptupitsyn opened a pull request:

https://github.com/apache/ignite/pull/2009

IGNITE-4904 .NET: DML Delete via LINQ



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/ptupitsyn/ignite ignite-4904

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/2009.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #2009


commit 1c1ec13e28f91bd345f5262291e9c19d74fcdb3c
Author: Pavel Tupitsyn 
Date:   2017-05-22T15:26:17Z

IGNITE-4904 .NET: DML via LINQ

commit 9fab0e7b7945102e94012c352fbf6f7b21195793
Author: Pavel Tupitsyn 
Date:   2017-05-22T15:39:26Z

API and test added for DeleteAll

commit e044a9ea028b1299f33f5b47da9f1b3929e4c9dc
Author: Pavel Tupitsyn 
Date:   2017-05-22T15:41:40Z

wip

commit 00f6a6b9eaede6222db2cbd373a72af96be91460
Author: Pavel Tupitsyn 
Date:   2017-05-22T15:57:04Z

wip

commit 5af55be2fa778e88f9a725c361b06a673312324d
Author: Pavel Tupitsyn 
Date:   2017-05-22T16:20:02Z

wip adding ReLinq extensions

commit 73e29df8db06b42dfdc76e7378f0ff28eae64a33
Author: Pavel Tupitsyn 
Date:   2017-05-22T16:26:48Z

register new node in ReLinq

commit 9fd511e26fc03253cf7f7ae9e0786d44f3cafdf6
Author: Pavel Tupitsyn 
Date:   2017-05-22T16:39:39Z

wip

commit 896bf6e58663412bcce77f00f3d02aeb6b14a6ee
Author: Pavel Tupitsyn 
Date:   2017-05-22T16:49:35Z

wip fix extension

commit 042a4e48a482327ca86929c43526d657811acf00
Author: Pavel Tupitsyn 
Date:   2017-05-22T16:50:27Z

wip

commit 218a1decb79c364ca90c5b7289dffb5dde85e1ca
Author: Pavel Tupitsyn 
Date:   2017-05-22T16:54:40Z

Overload with predicate

commit 70c4e4c761b921b8b30ec4d0fe7d07be115daba9
Author: Pavel Tupitsyn 
Date:   2017-05-22T17:30:22Z

Add DeleteAll operator support to the engine

commit 3e897fe0684f47395affdcf084048f14d5abee27
Author: Pavel Tupitsyn 
Date:   2017-05-22T17:31:37Z

wip

commit 5f1c4046214aac0e7cdeee8404c1e0e86e892919
Author: Pavel Tupitsyn 
Date:   2017-05-22T17:33:51Z

Simple test works!

commit c76157c714b0fa6ec6824601c2053abb32f37799
Author: Pavel Tupitsyn 
Date:   2017-05-22T17:36:11Z

wip todos

commit ce5cd5fbc02a807410a456d4db0349cf60fe00ee
Author: Pavel Tupitsyn 
Date:   2017-05-23T12:36:57Z

Rename DeleteAll to RemoveAll

commit 496a832d46989c651da5f4b1db8fa06322753549
Author: Pavel Tupitsyn 
Date:   2017-05-23T13:02:56Z

wip

commit bcbd923fed2b1fd4ed6f1ec3710064d8724d7151
Author: Pavel Tupitsyn 
Date:   2017-05-23T13:04:05Z

wip RemoveAll with predicate

commit 69e49af97e7b5c2512228032f5e3c47706a6b667
Author: Pavel Tupitsyn 
Date:   2017-05-24T16:51:44Z

Merge branch 'master' into ignite-4904

commit c75d867293293be1fe275512cc6f82c27b951ae6
Author: Pavel Tupitsyn 
Date:   2017-05-24T16:57:30Z

tests with predicate

commit b070cc3c0d96568f9d6dfde55526fffc85464212
Author: Pavel Tupitsyn 
Date:   2017-05-24T17:04:49Z

add test with join

commit 64c7bc71e3aee9efabd309798cc90810e4ea471e
Author: Pavel Tupitsyn 
Date:   2017-05-24T17:08:23Z

wip todos

commit 4bbcfde8bad41d4982ecdeebbb26b6191051ab5d
Author: Pavel Tupitsyn 
Date:   2017-05-25T12:37:31Z

Merge branch 'master' into ignite-4904

commit ec8c0c908b79f88010f01ae3d0e4812685f118fe
Author: Pavel Tupitsyn 
Date:   2017-05-25T14:22:36Z

wip

commit 765ba572bc0fa5445bcac02599146ac2433497c9
Author: Pavel Tupitsyn 
Date:   2017-05-25T14:25:52Z

wip tests

commit f49b057f12586b8d27195573dd2453b1c1272ce6
Author: Pavel Tupitsyn 
Date:   2017-05-25T14:35:28Z

wip

commit 42fa73cb648a6c92381a02f2c8764ef12240e76c
Author: Pavel Tupitsyn 
Date:   2017-05-25T14:46:11Z

wip tests

commit 8d583a76694804ca0a239b1ac516ed7a5abac272
Author: Pavel Tupitsyn 
Date:   2017-05-25T14:48:56Z

Tests done

commit 4c35a5c8c107bd7f42eb05647e36fc30370a7305
Author: Pavel Tupitsyn 
Date:   2017-05-25T14:52:31Z

Tests done

commit 218c38843a738162e9cd60a5ccd358ea72b4d7ad
Author: Pavel Tupitsyn 

[jira] [Commented] (IGNITE-4904) .NET: DML via LINQ

2017-05-24 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-4904:


Two {{RemoveAll}} methods added, with predicate and without. Simple tests work. 
Need to decide what to do when query contains joins.

> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET, LINQ
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}. 
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method 
> like this:
> {code}
> public static int DeleteAll(this ICache cache, 
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression 
> trees, and multi-line methods are not supported. We should come up with a way 
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache, 
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that 
> member.
> We should probably do delete as a separate task first.



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


[jira] [Commented] (IGNITE-4904) .NET: DML via LINQ

2017-05-23 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-4904:


{{RemoveAll}} is a better name (since we have {{ICache.RemoveAll}} and there is 
{{List.RemoveAll}}),

> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET, LINQ
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}. 
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method 
> like this:
> {code}
> public static int DeleteAll(this ICache cache, 
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression 
> trees, and multi-line methods are not supported. We should come up with a way 
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache, 
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that 
> member.
> We should probably do delete as a separate task first.



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


[jira] [Commented] (IGNITE-4904) .NET: DML via LINQ

2017-05-22 Thread Pavel Tupitsyn (JIRA)

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

Pavel Tupitsyn commented on IGNITE-4904:


{{CompiledQuery}} won't support this directly, since {{DeleteAll}} returns 
{{int}}, but we can invent something like {{CompileDelete}} as a separate task.

> .NET: DML via LINQ
> --
>
> Key: IGNITE-4904
> URL: https://issues.apache.org/jira/browse/IGNITE-4904
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms
>Affects Versions: 1.9
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>  Labels: .NET, LINQ
> Fix For: 2.1
>
>
> Perform bulk update operations via LINQ: {{UPDATE WHERE}}, {{DELETE WHERE}}. 
> Insert can already be done on object level with {{ICache.PutAll}}.
> 1) {{DELETE WHERE}}. This is quite simple. We can provide an extension method 
> like this:
> {code}
> public static int DeleteAll(this ICache cache, 
> IQueryable> items);
> {code}
> 2) {{UPDATE WHERE}}. This is tricky, because LINQ only works with expression 
> trees, and multi-line methods are not supported. We should come up with a way 
> to provide a list of columns and values, something like
> {code}
> public static int UpdateAll(this ICache cache, 
> IQueryable> items, params UpdateAction[] actions);
> {code}
> where UpdateAction can consist of a MemberExpression and a value for that 
> member.
> We should probably do delete as a separate task first.



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