Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

VIATRA/Releases/Query/NewAndNoteWorthy1.1

< VIATRA‎ | Releases
Revision as of 08:23, 28 November 2015 by Marton.bur.gmail.com (Talk | contribs) (Local search improvements)

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 or false. Currently the default is true.
    • ALLOW_INVERSE_NAVIGATION: allow/disallow inverse navigation along EReferences without an EOpposite. Its value may be true or false. Currently the default is true.
    • 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.

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.

Back to the top