Skip to content
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

datastore: insert via BSATN instead of via PV #2069

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Dec 18, 2024

Description of Changes

This PR changes the structure of the datastore to insert via BSATN rather than a PV. But this isn't entirely true, we just use the fast-path for BSATN -> BFLATN but in the general case we still do BSATN -> PV -> BFLATN. Later, I'll fully remove the temporary step. One of the other required changes here is that we write and generate sequence values directly in BFLATN.

Fixes #2017.

API and ABI breaking changes

None

Expected complexity level and risk

4 -- limited scope, but lots of unsafe code and complicated logic.

@Centril Centril marked this pull request as draft December 18, 2024 17:19
@Centril Centril force-pushed the centril/insert-bsatn branch 2 times, most recently from 501e360 to 5df3305 Compare December 18, 2024 17:23
@Centril Centril force-pushed the centril/insert-bsatn branch from 5df3305 to 5dfebdd Compare December 18, 2024 17:45
// and the encoded length to `row_len`.
let counter = CountWriter::default();
let mut writer = TeeWriter::new(counter, buffer);
bsatn::to_writer(&mut writer, &gen_cols).unwrap();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Note to self: this is wrong.

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.

perf: Use StaticLayout to insert BSATN -> BFLATN
1 participant