jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-34) Define query API
Date Tue, 03 Apr 2012 13:02:24 GMT

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

Thomas Mueller commented on OAK-34:

> drop the XPATH and SQL2 constants. They should instead be defined only in the specific
query parser components that implement these languages.

Yes, they are specific to the given service provider. Maybe we could re-use the languages
constants defined in the JCR API internally. But they don't need to be in the public API.

> Do we need getBindVariableNames()

Yes, unfortunately... for javax.jcr.query.Query.getBindVariableNames(). I guess the only application
that needs it is a generic JCR tool. JDBC has a similar mechanism, some databases still don't
support it even today I believe, as very few applications actually use it (java.sql.ParameterMetaData).

> Iterable instead of an Iterator

You are the second person to request it... The interface "Result" could extend extends Iterable<ResultRow>.

> We'll probably need a getSize()

Right. I think more methods will be required as well. What I have so far is the bare minimum
to run the minimal test case.

> Should it be possible for a column to be multi-valued?

I believe that's not supported in the JCR API, so I don't think it's required currently.

> More generally, would it be useful to define result sets as a sequence of JSON- or tree-like

> objects instead of using the more specific row abstraction?

Yes that's possible. If we do, we would need to specify the exact mappings.
> Define query API
> ----------------
>                 Key: OAK-34
>                 URL: https://issues.apache.org/jira/browse/OAK-34
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core
>            Reporter: Michael Dürig
>              Labels: query
> Define a oak-core API for handling queries. How do we handle name space mappings, value
bindings, limit, offset, access rights. See OAK-28

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message