[ 
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)

Reply via email to