-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Support EXCEPT ALL and INTERSECT ALL #9636
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
Conversation
@Tmonster here's what I was referring to |
I see, so similar to Union, I feel like this logic could also go in my PR. My PR isn't ready yet. I still need to use the column binding replacer when I replace the set op. Also just a thought, if I add the optimizer to convert intersect/except set ops to semi/anti joins early, and we keep the automatic deduplication, the join order optimizer has less opportunities for optimizing around the semi/anti joins since the group by operator won't allow it |
No idea what to do about the storage serialisation test failure |
The failing test seems to be that this is breaking forwards compatibility (i.e. v0.9.2 will not be able to read databases made with v0.10.0 containing views with |
Here some kind of breakage, either having 0.9.1 not be able to read all 0.9.2+ files or 0.9.2 not be able to read all 0.10.0 files is probably the way to go. Unsure on what's worse, between changing behaviour between minor versions or live a couple of more months with what we know have decided is a wrong behaviour. The only middle way that I could think of, but it's an hassle long term, is having a setting like |
I would say this is a feature and shouldn't go in 0.9.2, then we can break forwards compatibility between 0.9.2 and 0.10.0 on views with union/intersect/except |
Thanks! |
This PR breaks R tests, but I don't see a corresponding CI/CD run here. Are we still running R tests in this repository? |
We aren't running the R tests in this repository. Just checking the build. I'll investigate the failing test this week |
I'm on it, let's discuss later today. |
Have a PR to fix the R tests here duckdb/duckdb-r#54 |
Merge pull request duckdb/duckdb#9636 from hannes/exceptintersectall
Previously, we silently ignored the
ALL
modifier forEXCEPT
andINTERSECT
. With this PR, we implement support using window functions.