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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions