Skip to content

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

@MadSchemas

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)

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