[ https://issues.apache.org/jira/browse/OAK-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Mueller updated OAK-8162: -------------------------------- Description: When query with OR is divided into union of queries, options (like index tag) are not passed into subqueries - in effect alternative query sometimes f.e. uses indexes it shouldn't use. {noformat} org.apache.jackrabbit.oak.query.QueryImpl.buildAlternativeQuery() org.apache.jackrabbit.oak.query.QueryImpl.copyOf() 2019-03-21 16:32:25,600 DEBUG [org.apache.jackrabbit.oak.query.QueryEngineImpl] (default task-1) Parsing JCR-SQL2 statement: select distinct d.* from [crkid:document] as d where ([d].[metadane/inneMetadane/*/wartosc] = 'AX' and [d].[metadane/inneMetadane/*/klucz] = 'InnyKod') or ([d].[metadane/inneMetadane/*/wartosc] = 'AB' and [d].[metadane/inneMetadane/*/klucz] = 'InnyKod') option(index tag crkid_dokument_month_2019_3) 2019-03-21 16:32:25,607 DEBUG [org.apache.jackrabbit.oak.query.QueryImpl] (default task-1) cost using filter Filter(query=select distinct d.* from [crkid:document] as d where ([d].[metadane/inneMetadane/*/wartosc] = 'AB') and ([d].[metadane/inneMetadane/*/klucz] = 'InnyKod'), path=*, property=[metadane/inneMetadane/*/klucz=[InnyKod], metadane/inneMetadane/*/wartosc=[AB]]) {noformat} was: When query with OR is divided into union of queries, options (like index tag) are not passed into subqueries - in effect alternative query sometimes f.e. uses indexes it shouldn't use. org.apache.jackrabbit.oak.query.QueryImpl.buildAlternativeQuery() org.apache.jackrabbit.oak.query.QueryImpl.copyOf() 2019-03-21 16:32:25,600 DEBUG [org.apache.jackrabbit.oak.query.QueryEngineImpl] (default task-1) Parsing JCR-SQL2 statement: select distinct d.* from [crkid:document] as d where ([d].[metadane/inneMetadane/*/wartosc] = 'AX' and [d].[metadane/inneMetadane/*/klucz] = 'InnyKod') or ([d].[metadane/inneMetadane/*/wartosc] = 'AB' and [d].[metadane/inneMetadane/*/klucz] = 'InnyKod') option(index tag crkid_dokument_month_2019_3) 2019-03-21 16:32:25,607 DEBUG [org.apache.jackrabbit.oak.query.QueryImpl] (default task-1) cost using filter Filter(query=select distinct d.* from [crkid:document] as d where ([d].[metadane/inneMetadane/*/wartosc] = 'AB') and ([d].[metadane/inneMetadane/*/klucz] = 'InnyKod'), path=*, property=[metadane/inneMetadane/*/klucz=[InnyKod], metadane/inneMetadane/*/wartosc=[AB]]) > When query with OR is divided into union of queries, options (like index tag) > are not passed into subqueries. > -------------------------------------------------------------------------------------------------------------- > > Key: OAK-8162 > URL: https://issues.apache.org/jira/browse/OAK-8162 > Project: Jackrabbit Oak > Issue Type: Bug > Components: core > Affects Versions: 1.10.2 > Reporter: Piotr Tajduś > Assignee: Thomas Mueller > Priority: Major > > When query with OR is divided into union of queries, options (like index tag) > are not passed into subqueries - in effect alternative query sometimes f.e. > uses indexes it shouldn't use. > {noformat} > org.apache.jackrabbit.oak.query.QueryImpl.buildAlternativeQuery() > org.apache.jackrabbit.oak.query.QueryImpl.copyOf() > > 2019-03-21 16:32:25,600 DEBUG > [org.apache.jackrabbit.oak.query.QueryEngineImpl] (default task-1) Parsing > JCR-SQL2 statement: select distinct d.* from [crkid:document] as d where > ([d].[metadane/inneMetadane/*/wartosc] = 'AX' and > [d].[metadane/inneMetadane/*/klucz] = 'InnyKod') or > ([d].[metadane/inneMetadane/*/wartosc] = 'AB' and > [d].[metadane/inneMetadane/*/klucz] = 'InnyKod') option(index tag > crkid_dokument_month_2019_3) > 2019-03-21 16:32:25,607 DEBUG [org.apache.jackrabbit.oak.query.QueryImpl] > (default task-1) cost using filter Filter(query=select distinct d.* from > [crkid:document] as d where ([d].[metadane/inneMetadane/*/wartosc] = 'AB') > and ([d].[metadane/inneMetadane/*/klucz] = 'InnyKod'), path=*, > property=[metadane/inneMetadane/*/klucz=[InnyKod], > metadane/inneMetadane/*/wartosc=[AB]]) > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)