You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Owen Nichols (Jira)" <ji...@apache.org> on 2022/06/22 20:47:04 UTC

[jira] [Closed] (GEODE-9004) Issues with queries targeting a map field

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

Owen Nichols closed GEODE-9004.
-------------------------------

> 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
>              Labels: pull-request-available
>             Fix For: 1.15.0
>
>
> 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 key 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 key 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.20.7#820007)