-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SL-1987] Post-join filter application on time spine queries results in invalid query exceptions #1119
Comments
To be clear, the things we need for a complete solution are:
This issue should be closed when the first of these is complete, and predicate pushdown will account for the time spine in a more natural way. I've linked it to that main tracking task so we don't forget to push to time spine, but that's hardly a thing I'm likely to forget given the layout of the code. |
@tomkit.lento I don't think we want to remove the double-filter logic, do we? My thought is that we'll end up with the scenario where you've selected a categorical dimension, filtered out nulls, and then we join them back in so you see nulls in the output. I think the customer would expect the where filter to override the My proposed solution is to only apply the second filter if the filtered spec is also requested in the group by (since those should be the only ones that might return unexpected results). |
I'm pretty sure this is fixed and I have no idea why it's showing that I've been opening and closing and opening and closing. Super weird. |
For details please refer to the user report in slack.
Due to an issue with the time spine join causing an explosion of extra date/time rows in the output results (see #1039 for details), we added a second-stage filter operation in #1056 . Unfortunately, the test cases covered time-only filters, but not filters including time and some other dimension/entity filter.
There are two problems here:
listing__is_deactivated
and you wanted to fill zeros for all the dates where no deactivated listings had activity, you'd just filter out all of those dates because there would be a NULL in the column in the outer query.There is no clean solution to this problem today. We either have unexpected dates, as described in #1056, or we have inappropriate behavior, as described here.
Happily, predicate pushdown will offer a way out of this mess. If the time-identification components of predicate pushdown will take too long to materialize we should probably just roll back #1056 before our next release, as returning too many rows is something end users can work around while we give them the tools necessary to apply pre-filtering.
SL-1987
The text was updated successfully, but these errors were encountered: