Files
SpacetimeDB/crates
Mazdak Farrokhzad e33cefbb2a Bypass AlgebraicValue for datastore updates and bsatn based index scans + BytesKey optimization (#4311)
# Description of Changes

Introduces types `TypedIndexKey` and `IndexKey` to free the table index
code on its direct dependency on `AlgebraicValue`, allowing index scans
by BSATN, `RowRef`s as well without first going through
`AlgebraicValue`.
This also has the effect of optimizing string scans by avoiding
allocating in `AlgebraicValue::String`.

This also adds a byte-array based future optimization for
all-primitive-multi-column indexes.

Also in the future, this will enable optimizing `iter_by_col_eq`, which
is used by the frequent connect/disconnect logic.

# API and ABI breaking changes

None

# Expected complexity level and risk

3? Unsafe code and very load bearing code.

# Testing

Should be covered by existing tests.
2026-03-27 12:35:22 +00:00
..
2026-03-03 11:06:52 +00:00
2026-03-03 11:06:52 +00:00
2026-03-23 01:27:51 +00:00
2026-03-19 17:47:00 +00:00
2026-03-19 17:47:00 +00:00
2026-03-03 11:06:52 +00:00
2025-08-12 18:20:58 +00:00
2026-03-03 11:06:52 +00:00
2026-03-19 16:50:28 +00:00
2026-03-03 11:06:52 +00:00
2026-03-20 21:53:51 +00:00
2026-03-03 11:06:52 +00:00
2026-03-19 17:47:00 +00:00
2026-03-03 11:06:52 +00:00