Skip to content

Поддержка EqualPosition #128

Description

@MadSchemas

В rx на уровне ядра есть возможность выполнять выполнять фильтрацию по массивам с учётом совпадения индексов внутри этих массивов через интерфейс EqualPosition. Документация с примером.

Также через этот же механизм можно выполнять запросы с группировкой по определённым уровням вложенности. Документация с примером.

Это полезно для случаев, когда у пользователя есть массив с объектами и несколько индексов, построенных поверх полей этих объектов. В этом случае EqualPosition позволяет объединить несколько условий и наложить их на конкретный объект - с одной стороны, это даёт возможность связать между собой в запросе два независимых индекса, а с другой - сгруппировать вложенные массивы в рамках одного логического объекта

В Java хотелось бы поддержать интерфейс, аналогичный тому, что есть в Go, позволяющий принимать список из произвольного числа индексов (2+) или json-путей: https://github.com/Restream/reindexer/blob/v5.12.0/query.go#L1386

Важно: Конструкция EqualPosition привязывается к конкретной скобке (если она есть) и использует смещение этих скобок внутри запроса, которое байндинг должен посчитать самостоятельно (в Go это сделано через переменные whereEntriesCount и openedBrackets)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions