Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
VIATRA/Releases/Query/NewAndNoteWorthy1.1
Contents
New and Noteworthy - EMF-IncQuery 1.1.0
Xtext 2.9 Support
We are using the latest and greatest of Xtext, so in order to specify queries in EMF-IncQuery 1.1.0, you will need Xtext 2.9 dependencies installed. This also means that you can take advantage of Xtext 2.9 features when building on top of EMF-IncQuery 1.1.0.
Local search improvements
- Improved planner algorithm and bugfixes
- To use the local search-based algorithm in a matcher, follow the steps described in Using alternative search algorithms.
- Parameterization of the planner algorithm is possible via the hinting mechanism. In the current release three hint keys are provided for this purpose in the
org.eclipse.incquery.runtime.localsearch.matcher.integration.LocalSearchHintKeys
class:- USE_BASE_INDEX: allow/disallow the usage of the index. Its value may be
true
orfalse
. Currently the default istrue
. - ALLOW_INVERSE_NAVIGATION: allow/disallow inverse navigation along EReferences without an EOpposite. Its value may be
true
orfalse
. Currently the default istrue
. - PLANNER_TABLE_ROW_COUNT: An internal parameter, bigger values often mean longer plan generation times, and potentially search plans with lower cost. Its value may be a positive
int
, the default is 4 in this release.
- USE_BASE_INDEX: allow/disallow the usage of the index. Its value may be
For example, to disable the use of base index, provide a hint with the key USE_BASE_INDEX with value false
:
IQuerySpecification<?> specification = ...; HashMap<String, Object> mapForHint = Maps.<String, Object>newHashMap(); mapForHint.put(LocalSearchHintKeys.USE_BASE_INDEX,false); // Other hints may be added to the map here QueryEvaluationHint hint = new QueryEvaluationHint(LocalSearchBackend.class, mapForHint); AdvancedIncQueryEngine.from(engine).getMatcher(specification, hint);
Surrogate query support
- Extension moved to runtime plug-in to ensure that surrogate queries are correctly loaded even when the pattern language is not installed.
Maven builder enhancements
When running the IncQuery Maven plugin, you might get an error saying Cyclic linking detected (see bug 464120). A workaround has been introduced for this in 1.1: see https://wiki.eclipse.org/EMFIncQuery/UserDocumentation/Build#Cyclic_linking for details.
Dependency changes
- removed re-exports of Guava and some other plugins (Xtext and related libraries)
Bug fixes
See https://projects.eclipse.org/projects/modeling.incquery/releases/1.1.0/bugs for a full list.