Skip to content

vector/vhash: add vectorized hash table and use it for distinct - #7607

Open
mattnibs wants to merge 1 commit into
mainfrom
vhash
Open

mattnibs wants to merge 1 commit into
mainfrom
vhash

Conversation

@mattnibs

@mattnibs mattnibs commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

Add vector/vhash, a vectorized hash table that maps tuples of key vectors to dense key IDs. It uses open addressing with linear probing, where each slot packs a 32-bit hash salt with a key ID. Keys are kept in vector format so they can be returned directly as vectors. It is meant to be shared by distinct, hash join, and aggregations.

Switch the distinct operator from a map of serialized values to vhash, keeping one table per key type.

Add vector/vhash, a vectorized hash table that maps tuples of key
vectors to dense key IDs. It uses open addressing with linear probing,
where each slot packs a 32-bit hash salt with a key ID. Keys are kept in
vector format so they can be returned directly as vectors. It is meant
to be shared by distinct, hash join, and aggregations.

Switch the distinct operator from a map of serialized values to vhash,
keeping one table per key type.
@mattnibs
mattnibs requested a review from a team November 5, 2026 00:20
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.

2 participants