This pr addresses the error in #6. Additionally, it implements the predicate push-up optimisation as described in #5, i.e. we delay filtering data points as far as possible until the number of series to filter is minimised.
Query evaluation now works on the following test case. Say we're given 3 data points:
This pr addresses the error in #6. Additionally, it implements the predicate push-up optimisation as described in #5, i.e. we delay filtering data points as far as possible until the number of series to filter is minimised.
Query evaluation now works on the following test case. Say we're given 3 data points:
And the following select query:
This gives us the correct sorted results:
. Additionally, we can evaluate more complex queries such as with an "AND" statement here
which returns the correct single data point: