[
https://issues.apache.org/jira/browse/GEODE-9004?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alberto Gomez reassigned GEODE-9004:
------------------------------------
Assignee: Alberto Gomez
> Issues with queries targeting a map field
> -----------------------------------------
>
> Key: GEODE-9004
> URL: https://issues.apache.org/jira/browse/GEODE-9004
> Project: Geode
> Issue Type: Bug
> Components: querying
> Reporter: Alberto Gomez
> Assignee: Alberto Gomez
> Priority: Major
>
> When defining indexes on a map field several issues have been found:
> * If the index is defined for one specific key in the map, e.g.
> positions['SUN'], then an index entry is created for every entry, no matter
> if the entry contains the 'SUN' key in its map or not. This makes the index
> take a lot of memory (unnecessarily?).
> * If the index is specified for more than one keys in the map or for all
> ('*'), then queries in which the where contains a != condition for the map,
> e.g. "p.positions['SUN'] != '3'" return less values than those returned when
> the query is run without the index.
> * If the index is specified for more than one keys in the map or for all
> ('*'), then queries in which the where contains a "= null" condition for the
> map, e.g. "p.positions['SUN'] = null" return less values than those returned
> when the query is run without the index.
> * If the index is defined for one specific key in the map, e.g.
> positions['SUN'], queries in which the where contains a != condition for the
> map or a " = null" condition sometimes return less values than those returned
> when the query is run without the index.
> Apart from the above, looking at the indexes documentation, it seems that Map
> indexes are only those indexes for which more than one key or '*' is
> specified for the Map. But if just one key is specified for the Map in the
> index, then the index is not a Map index but a range index. This should be
> clarified.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)