Skip to content

Implement a predicate push-down engine #43

@beikov

Description

@beikov

The idea is to make the usecase of object filtering like #42 more efficient by implementing an engine that can split a predicate into parts that can be pushed down to act as filters for specific attributes.

A filter like root.name = 'abc' can be split into {"root": "name = 'abc'"}.

A filter like root.collection1.name = 'abc' could be split into {"root": "root.collection1 is not empty", "root.collection1": "name = 'abc'"}.

Maybe it makes sense to also allow empty collections i.e. apply left join semantics to such filters.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions