[
https://issues.apache.org/jira/browse/OAK-9478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Amrit Verma updated OAK-9478:
-----------------------------
Description:
For multivalued properties, the current support of '<' and '>' operators is not
sufficient. For example, if we look at the below query -
{code:java}
select * from [app:Asset] where isdescendantnode("/content") and [code] >= 1080
and [code] < 2000 {code}
where code is a multivalued Long property, the search results would contain a
node which has code set to [1060, 2030, 3010] . This node is returned because
it contains values in both the ranges i.e. 1060 < 2000 and 2030 > 1080. So both
conditions specified in the query are satisfied.
What we actually want here that a node should be returned only if at least one
value satisifies both the range conditions.
For this we need support for BETWEEN operator.
was:
For multivalued properties, the current support of '<' and '>' operators is not
sufficient. For example, if we look at the below query -
{code:java}
select * from [app:Asset] where isdescendantnode("/content") and [code] >= 1080
and [code] < 2000 {code}
where code is a multivalued Long property, the search results would contain
nodes which have code set to [1060, 2030, 3010] . This node is returned becaus
it contains values in both the ranges i.e. 1060 < 2000 and 2030 > 1080. So both
conditions specified in the query are satisfied.
What we actually want here that a node should be returned only if at least one
value satisifies both the range conditions.
For this we need support for BETWEEN operator.
> Implement support for BETWEEN operator
> --------------------------------------
>
> Key: OAK-9478
> URL: https://issues.apache.org/jira/browse/OAK-9478
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: indexing
> Affects Versions: 1.40.0
> Reporter: Amrit Verma
> Priority: Major
>
> For multivalued properties, the current support of '<' and '>' operators is
> not sufficient. For example, if we look at the below query -
> {code:java}
> select * from [app:Asset] where isdescendantnode("/content") and [code] >=
> 1080 and [code] < 2000 {code}
> where code is a multivalued Long property, the search results would contain a
> node which has code set to [1060, 2030, 3010] . This node is returned because
> it contains values in both the ranges i.e. 1060 < 2000 and 2030 > 1080. So
> both conditions specified in the query are satisfied.
> What we actually want here that a node should be returned only if at least
> one value satisifies both the range conditions.
> For this we need support for BETWEEN operator.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)