-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
sql: UNION variant of WITH RECURSIVE not implemented #46642
Comments
I don't understand the motivation, but we do see a use of the Either way, this may be a blocker for PostgREST support. |
@RaduBerinde do you have a feel for the implementation complexity of this functionality? |
Probably 2-4 weeks of work I'd say |
This looks easier than I thought, I think we can just use a de-duplicating row container. |
This change implements the UNION variant of WITH RECURSIVE, where rows are deduplicated. We achieve this by storing all rows in a deduplicating container and inserting in that container first, detecting if the row is a duplicate. Fixes cockroachdb#46642. Release note (sql change): The WITH RECURSIVE variant that uses UNION (as opposed to UNION ALL) is now supported.
This change implements the UNION variant of WITH RECURSIVE, where rows are deduplicated. We achieve this by storing all rows in a deduplicating container and inserting in that container first, detecting if the row is a duplicate. Fixes cockroachdb#46642. Release note (sql change): The WITH RECURSIVE variant that uses UNION (as opposed to UNION ALL) is now supported.
71685: sql: implement WITH RECURSIVE with UNION r=RaduBerinde a=RaduBerinde #### sql: implement WITH RECURSIVE with UNION This change implements the UNION variant of WITH RECURSIVE, where rows are deduplicated. We achieve this by storing all rows in a deduplicating container and inserting in that container first, detecting if the row is a duplicate. Fixes #46642. Release note (sql change): The WITH RECURSIVE variant that uses UNION (as opposed to UNION ALL) is now supported. #### sql: capitalize rowContainerHelper API This change capitalizes the API of `rowContainerHelper` and `rowContainerIterator` to make it more clear what functions are not internal to the structure. Release note: None 71774: roachtest: improve `rapid-restart` by using `c.Start` r=erikgrinaker a=cameronnunez Fixes #70559. This test manually started CRDB with `c.Run`. This patch uses `c.Start` instead of `c.Run`, avoiding incorrect test failures from unexpected SSH exit codes resulting from using `c.Run`. Release note: None 71823: vendor: bump Pebble to 7fec828fc1af r=bananabrick a=bananabrick 7fec828f db,sstable: block property collectors and filters f2339cc7 compaction: read compaction fixes e95e7374 pebble: add additional mechanism to schedule read compactions cdbcfe9f db: Expose logic to calculate the table cache size 0ee4290c db: schedule sstable validation on ingestion 543bc6fa db: use locked suffix for function names; simplify boolean expression 5393ca16 internal/rate: skip two flaky tests on darwin 7cd88488 sstable: print additional fields in verbose block layout 4f6402b1 *: enable staticcheck Release note: Co-authored-by: Radu Berinde <radu@cockroachlabs.com> Co-authored-by: Cameron Nunez <cameron@cockroachlabs.com> Co-authored-by: Arjun Nair <nair@cockroachlabs.com>
This change implements the UNION variant of WITH RECURSIVE, where rows are deduplicated. We achieve this by storing all rows in a deduplicating container and inserting in that container first, detecting if the row is a duplicate. Fixes cockroachdb#46642. Release note (sql change): The WITH RECURSIVE variant that uses UNION (as opposed to UNION ALL) is now supported.
Postgres supports two forms of RECURSIVE WITH: using either UNION or UNION ALL. Other databases (like SQL Server) only implement UNION ALL.
CockroachDB currently only implements UNION ALL. If you are a user of CockroachDB who needs to use this variant, please post in this issue and provide more details on the usecase.
Epic CRDB-10357
The text was updated successfully, but these errors were encountered: