Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 441323

Summary: Implement extend operation for binary transitive closure
Product: [Modeling] Viatra Reporter: Marton Bur <marton.bur>
Component: QueryAssignee: Zoltan Ujhelyi <zoltan.ujhelyi>
Status: RESOLVED FIXED QA Contact: Istvan Rath <istvanrath>
Severity: normal    
Priority: P3 CC: balazs.grill, zoltan.ujhelyi
Version: 1.2.0   
Target Milestone: 1.7.0M3   
Hardware: PC   
OS: Linux   
See Also: https://git.eclipse.org/r/100022
https://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=483086b4a63feb8a4e521fdf89c67c37e5a29bd9
https://git.eclipse.org/r/100042
https://git.eclipse.org/r/100041
https://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=a03f56e68fbc784111b1606ef31389269380d7c6
https://git.eclipse.org/r/100117
https://git.eclipse.org/c/viatra/org.eclipse.viatra.git/commit/?id=9ff6787cdf47d92c2913fc37072abc0580319d33
Whiteboard: localsearch

Description Marton Bur CLA 2014-08-07 05:19:10 EDT
During the implementation of the POperation to ISearchOperation compiler the following ISearchOperations are needed, but not implemented yet:
 - Instance of check to EDataType
 - Eval as a check operation
 - Binary transitive closure as extend operation
Comment 1 Marton Bur CLA 2015-09-27 19:55:49 EDT
It is also desired to have operations that are carrying out the same task, but one of the implementations use the available base index, while the other does not.
Comment 2 Zoltan Ujhelyi CLA 2015-10-08 04:46:00 EDT
The operations required should be added, and the planner should be capable of selecting between the operation types in an appropriate way.
Comment 3 Marton Bur CLA 2015-10-11 16:01:45 EDT
Here I'd like to ask for advice in order to implement the IterateOver[EClass|EDataType|EStructuralFeature]Instances search operations (which are _not_ using the base index) with the same constraints as I did in https://bugs.eclipse.org/bugs/show_bug.cgi?id=479493#c1 
So, how do you think these operations should be initialized to be able to enumerate the possible model element candidates, what modifications can I make in other components?
Comment 4 Zoltan Ujhelyi CLA 2016-03-17 08:26:03 EDT
Replaced target milestone from incquery with VIATRA
Comment 5 Zoltan Ujhelyi CLA 2016-05-26 08:41:20 EDT
Postponed.
Comment 6 Zoltan Ujhelyi CLA 2016-07-14 08:52:30 EDT
(In reply to Marton Bur from comment #0)
> During the implementation of the POperation to ISearchOperation compiler the
> following ISearchOperations are needed, but not implemented yet:
>  - Instance of check to EDataType
>  - Eval as a check operation
>  - Binary transitive closure as extend operation

Balázs, haven't you implemented these operations (or made sure they are not required) for 1.3?
Comment 7 Balazs Grill CLA 2016-07-15 03:04:32 EDT
(In reply to Zoltan Ujhelyi from comment #6)
> (In reply to Marton Bur from comment #0)
> > During the implementation of the POperation to ISearchOperation compiler the
> > following ISearchOperations are needed, but not implemented yet:
> >  - Instance of check to EDataType
> >  - Eval as a check operation
> >  - Binary transitive closure as extend operation
> 
> Balázs, haven't you implemented these operations (or made sure they are not
> required) for 1.3?

I've indeed implemented Eval check operation for https://bugs.eclipse.org/bugs/show_bug.cgi?id=496548. There is also an InstanceOfDataTypeCheck implementation made by you as I see. The transitive closure extend is missing. I believe the POperationCompiler should throw an exception if a plan would require extending through transitive closure, though there is no test case for this scenario yet.
Comment 8 Zoltan Ujhelyi CLA 2016-07-15 04:27:01 EDT
Thanks for the information; I have updated the summary to make sure it is up-to-date (and make sure we will not open duplicate tasks unnecessarily :) ).
Comment 9 Zoltan Ujhelyi CLA 2016-09-08 05:22:12 EDT
Postponed to 1.5
Comment 10 Zoltan Ujhelyi CLA 2017-01-25 08:06:57 EST
Postponed.
Comment 11 Eclipse Genie CLA 2017-06-26 03:49:20 EDT
New Gerrit change created: https://git.eclipse.org/r/100022
Comment 13 Eclipse Genie CLA 2017-06-26 08:09:34 EDT
New Gerrit change created: https://git.eclipse.org/r/100042
Comment 14 Eclipse Genie CLA 2017-06-26 08:09:36 EDT
New Gerrit change created: https://git.eclipse.org/r/100041
Comment 16 Eclipse Genie CLA 2017-06-27 07:57:21 EDT
New Gerrit change created: https://git.eclipse.org/r/100117
Comment 18 Zoltan Ujhelyi CLA 2017-10-09 09:48:07 EDT
Transitive closure node was added in master; the incremental transitive closure algorithm from base was not used because of missing support for cache lifecycle management.