Enable Garbage Collection for Interned Values (#602)

* remove table-wide dependencies

* add plumbing to reuse interned slots

* record durabilities on interned values

* appease clippy

* remove immortal interned value logic

* pass correct revision when tracking interned reads

* force new revision when resetting interned values

* avoid unnecessary calls to `Database::zalsa`

* add log events for value internment

* Only log event kind because thread id can differ between runs/computers

* cargo fmt

---------

Co-authored-by: Micha Reiser <micha@reiser.io>
This commit is contained in:
Ibraheem Ahmed 2025-03-17 05:23:14 -04:00 committed by GitHub
parent 1d1523b8b8
commit a86db59e99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 435 additions and 305 deletions

View file

@ -29,7 +29,7 @@ where
let (zalsa, zalsa_local) = db.zalsas();
let revision_now = zalsa.current_revision();
let database_key_index = active_query.database_key_index;
let id = database_key_index.key_index;
let id = database_key_index.key_index();
tracing::info!("{:?}: executing query", database_key_index);