Skip to content

refactor(processor): pass Intersect's survivor count explicitly between rounds - #1382

Open
zahariash wants to merge 1 commit into
LadybugDB:mainfrom
zahariash:refactor/intersect-survivor-count
Open

zahariash wants to merge 1 commit into
LadybugDB:mainfrom
zahariash:refactor/intersect-survivor-count

Conversation

@zahariash

Copy link
Copy Markdown
Contributor

This work was produced with the help of language models.

Follow-up to the review of #1372 (#1372 (comment)). Between intersect rounds, Intersect::intersectLists reset its left selection vector with the no-argument setToUnfiltered(), which keeps the current size. That size is what the next round needs, but the call did not say so.

Change. It now passes the size, leftSelVector.setToUnfiltered(leftSelVector.getSelSize()), with a comment that twoWayIntersect leaves the surviving left IDs at the front of outKeyVector. Behaviour is unchanged.

Tests. No new test: resetting the size to the first list's length instead fails acc_hj, cyclic/single_label, cyclic/multi_label and cyclic/large_lists. Full ctest: 3184/3184.

…en rounds

The no-argument setToUnfiltered() keeps the current size, which is what the
next intersect round needs, but the call did not say so. Pass the size and
note that twoWayIntersect leaves the surviving left IDs at the front of the
key vector.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant