You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2019/04/23 07:36:00 UTC
[jira] [Updated] (OAK-8162) When query with OR is divided into
union of queries, options (like index tag) are not passed into subqueries.
[ 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)