[ 
https://issues.apache.org/jira/browse/GEODE-2793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacob S. Barrett reassigned GEODE-2793:
---------------------------------------

    Assignee: Jacob S. Barrett

> Look into reducing the amount of PDX deserializations in OQL query 
> intermediate result sets for indexed OR queries containing PdxInstanceImpls
> ----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-2793
>                 URL: https://issues.apache.org/jira/browse/GEODE-2793
>             Project: Geode
>          Issue Type: Bug
>          Components: querying
>            Reporter: Barry Oglesby
>            Assignee: Jacob S. Barrett
>            Priority: Major
>
> Intermediate result sets for each of the indexed OR clauses are represented 
> by ResultsBags. Each index is sorted and iterated in 
> AbstractGroupOrRangeJunction auxFilterEvaluate. When entry in the index is 
> added to a ResultsBag, hashCode is invoked. In the case of a PdxInstanceImpl, 
> this causes all of its identity fields to be deserialized so that hashCode 
> can be invoked on them.
> Then, when each ResultsBag is sorted during QueryUtils union and 
> sizeSortedUnion by invoking occurrences on each entry, equals is invoked each 
> entry. In the case of a PdxInstanceImpl, this causes all of its identity 
> fields to be deserialized so that equals can be invoked on them.
> Here is an example query that shows the PDX deserializations:
> {noformat}
> select * from /region this where ((map['entry1']='value1' OR 
> map['entry2']='value2' OR map['entry3']='value3' OR map['entry4']='value4' OR 
> map['entry5']='value5' OR map['entry6']='value6' OR map['entry7']='value7' OR 
> map['entry8']='value8' OR map['entry9']='value9' OR 
> map['entry10']='value10')) ...
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to