jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chetan Mehrotra (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-28) Query implementation
Date Fri, 31 Aug 2012 06:26:07 GMT

    [ https://issues.apache.org/jira/browse/OAK-28?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13445716#comment-13445716

Chetan Mehrotra commented on OAK-28:

A minor fix is required in {{OsgiIndexProvider}} at Line 87

- return providers.get(0).getQueryIndexes(mk);
+ return providers.entrySet().iterator().next().getValue().getQueryIndexes(mk);

Could not find a better way to get the only value entry. One other way can be to use NavigableMap

- private final Map<ServiceReference, QueryIndexProvider> providers =
-        new HashMap<ServiceReference, QueryIndexProvider>();

+ private final NavigableMap<ServiceReference, QueryIndexProvider> providers =
+        new TreeMap<ServiceReference, QueryIndexProvider>();


And then

- return providers.get(0).getQueryIndexes(mk);
+ return providers.firstEntry().getValue().getQueryIndexes(mk);
> Query implementation
> --------------------
>                 Key: OAK-28
>                 URL: https://issues.apache.org/jira/browse/OAK-28
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core, jcr
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>              Labels: query
>         Attachments: OakToJcrQueryTreeConverter.java
> A query engine needs to be implemented. 
> A query parser in oak-core should be able to handle xpath, sql2 and optionally other
query languages. The jcr component must generate a valid query in one of those languages from
JQOM queries and pass that statement along with value bindings, limit, offset, and name space
mappings to the oak-core. 
> We need to:
> * Define the oak-core API for handling queries. How are do we handle name space mappings,
limit and offset
> * Implement a query builder in the jcr component which takes care of translating JQOM
queries to statements in string form 
> * Implement a query parser in oak-core and decide on a versatile AST representation which
works with all query languages and which is extensible to future query languages.
> * Implement the actual query execution engine which interprets the query AST

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message