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

Current state of MVCC split version #3

Open
huangyihe opened this issue Jul 9, 2019 · 1 comment
Open

Current state of MVCC split version #3

huangyihe opened this issue Jul 9, 2019 · 1 comment

Comments

@huangyihe
Copy link
Contributor

huangyihe commented Jul 9, 2019

This is how MVCC split version is supposed to work. The quoted part shows the template specialization used to define our "split policy".

The templates complicate things especially with deletes. I think there is a solution I just haven't gotten much time to think it through. The main challenge is with the current function pointer mechanism we have to invoke the deletion function, which doesn't work with the function templates used to loop around different chains. We will need some workaround on this.

@huangyihe
Copy link
Contributor Author

I just added a RecordAccessor interface to unify client's view over split and unified records, so that we can have a single benchmark implementation for both split and non-split records. An example of how it's used is in the updated unit test.

The quoted lines here between line 10 and line 152 are highly boring boilerplate code that can be (and should be) easily generated from the schema. I'm working on such a code generator right now.

Structured binding declarations in C++17 are really a wonderful thing.

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

No branches or pull requests

1 participant