Skip to content

Conversation

@zachmu
Copy link
Member

@zachmu zachmu commented Oct 17, 2023

Implements index support for virtual columns, and fixes several bugs related to generated columns for certain statements.

Changes the memory table index implementation to actually store secondary indexes separately, rather than fake it via the primary index. The indexes are stored via sorted slices for now. I'll do another pass and replace them, and primary storage, with btrees for speed now that I have this proof of concept working.

Also introduces a new interface for rebuilding a single index, rather than doing a complete table rewrite every time an index is created.

@zachmu zachmu requested a review from max-hoffman October 17, 2023 23:35
Copy link
Contributor

@max-hoffman max-hoffman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@zachmu zachmu changed the title More tests and bug fixes for virtual columns Virtual column index support Oct 25, 2023
@max-hoffman
Copy link
Contributor

if you don't mind, a squash merge might be nice for this one

Copy link
Contributor

@max-hoffman max-hoffman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly small comments, it seems like i'm missing the main change? RebuildIndex I thought was the thing, but doesn't seem to be implemented

Copy link
Contributor

@max-hoffman max-hoffman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, didn't realize the index builder changes were for future PR

@zachmu zachmu merged commit a85ef4a into main Oct 26, 2023
@Hydrocharged Hydrocharged deleted the zachmu/virtual branch February 7, 2024 13:46
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