use table for tracked structs and their fields

This also retools a tiny bit how deletion works.
We will reuse ids faster than before, actually.
This commit is contained in:
Niko Matsakis 2024-08-10 10:13:38 +03:00
parent 01d4ef86b2
commit 188f759555
17 changed files with 561 additions and 575 deletions

View file

@ -39,6 +39,12 @@ where
},
});
// If we already executed this query once, then use the tracked-struct ids from the
// previous execution as the starting point for the new one.
if let Some(old_memo) = &opt_old_memo {
active_query.seed_tracked_struct_ids(&old_memo.revisions.tracked_struct_ids);
}
// Query was not previously executed, or value is potentially
// stale, or value is absent. Let's execute!
let database_key_index = active_query.database_key_index;