limbo/core
Jussi Saurio 73e806ad84 Make WhereTerm::consumed a Cell<bool>
Currently in the main translation logic after planning and optimization,
we don't _really_ need to pass a &mut Vec<WhereTerm> around anymore, except
for the fact that virtual table constraint resolution is done ad-hoc in
`init_loop()`. Even there, the only thing we mutate is `WhereTerm::consumed`
which is a boolean indicating that the term has been "used up" by the optimizer
and shouldn't be evaluated as a normal where clause condition anymore.

In the upcoming branch for WHERE clause subqueries, I want to store immutable
references to WHERE clause expressions in `Resolver`, but this is unfortunately
not possible if we still use the aforementioned mutable references.

Hence, we can temporarily make `WhereTerm::consumed` a `Cell<bool>` which allows
us to pass an immutable reference to `init_loop()`, and the `Cell` can be removed
once the virtual table constraint resolution is moved to an earlier part of the
query processing pipeline.
2025-05-28 11:02:39 +03:00
..
benches change sample count to 10 2025-05-23 12:37:03 -03:00
ext Close statements in extension tests, and use mut pointers for stmt 2025-05-24 16:45:25 -04:00
functions Rename OwnedValue -> Value 2025-05-15 09:59:46 +03:00
io core: Switch Completion "is_completed" to use Cell 2025-05-27 14:05:07 +03:00
json Rename OwnedValue -> Value 2025-05-15 09:59:46 +03:00
mvcc clippy 2025-03-25 17:13:31 +02:00
numeric numeric types overhaul 2025-04-23 08:34:58 -03:00
storage core: Switch Completion "is_completed" to use Cell 2025-05-27 14:05:07 +03:00
translate Make WhereTerm::consumed a Cell<bool> 2025-05-28 11:02:39 +03:00
vdbe Merge 'Small VDBE insn tweaks' from Jussi Saurio 2025-05-27 20:19:31 +03:00
vector Rename OwnedValue -> Value 2025-05-15 09:59:46 +03:00
build.rs implement sqlite_source_id function 2025-01-28 14:55:38 -05:00
Cargo.toml tpc-h with criterion and nyrkio 2025-05-23 01:32:16 -03:00
error.rs page_cache: fix insert and evict logic 2025-05-21 14:09:39 +02:00
fast_lock.rs Reconstruct WAL frame cache when WAL is opened 2025-05-24 18:29:44 +03:00
function.rs add Func::is_deterministic() 2025-04-24 11:05:21 +03:00
info.rs implement sqlite_source_id function 2025-01-28 14:55:38 -05:00
lib.rs Merge 'Add libsql_wal_get_frame() API' from Pekka Enberg 2025-05-27 18:17:32 +03:00
numeric.rs Rename OwnedValue -> Value 2025-05-15 09:59:46 +03:00
parameters.rs Consolidate match case in parameters push to handle all anonymous params in one case 2025-05-13 14:42:12 -04:00
pseudo.rs wip 2025-03-29 22:02:49 +01:00
result.rs core: transaction support 2024-12-24 18:04:30 +01:00
schema.rs Merge 'btree: Remove assumption that all btrees have a rowid' from Jussi Saurio 2025-05-21 14:53:00 +03:00
types.rs Remove unused method for converting from ext type without ownership 2025-05-24 17:22:12 -04:00
util.rs add function parse_signed_number 2025-05-28 00:33:41 +08:00