penberg / tihku

Optimistic multi-version concurrency control (MVCC) for main memory databases, written in Rust.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compact row versions

penberg opened this issue · comments

As transactions commit, we keep creating new versions. But we need to compact the versions at some point to avoid running out of memory.

@penberg is there any substantial difference between this issue and #2? When nobody is currently reading a particular version anymore, it should be garbage collected. Do we miss that tracking?

Nvm!!! Just realized that this issue is about cleaning up the data structure that stores actual rows, and #2 was about tracking transaction metadata