Open
Description
We need to be able to take a given predicate buffer and do the following:
- Get a stable PNode representation which flattens all scalar values or array or list types to a simple identity value.
- the goal of this is to provide a fingerprint of the predicate structure, such that all equivalent structures have the same fingerprint irrespective of the values or number of values in each comparand
- Get a positional value from it in terms of order of predicates and a given predicate index
- Turn the function from 2) into a lambda
Stretch goal
Optimize the lambda so that it memoizes the buffer offset and thus does not have to parse to PNode first
This might require enhancing the PNode structure or adjacent data type to remember offsets after parsing.
Another possible approach would be to allow for incremental parsing up to a stopping point, thus capturing
the buffer position at that point for the next read. This could be supported by adding a target index to the existing parser methods.
Metadata
Metadata
Assignees
Labels
No labels