mirror of
https://github.com/clockworklabs/SpacetimeDB.git
synced 2026-05-13 11:17:50 -04:00
8544e6cf02
# Description of Changes Fixes https://github.com/clockworklabs/SpacetimeDB/issues/1122. Adds hash indices and exposes them through `#[index(hash)]` for Rust modules, with support for typescript and C# to come in follow ups. On the client/sdk side, for now, any index is backed via a BTree/native index as it is the most general. A hash index may only be queried through point scan and never ranged scans. Attempting a ranged scan results in an error, with the mechanism implemented in the previous PR (https://github.com/clockworklabs/SpacetimeDB/pull/3974). # API and ABI breaking changes None # Expected complexity level and risk 2? # Testing A test for ensuring that hash indices cannot be used for range scans is added. Tests exercising hash indices will come in the next PR.
67 lines
1.7 KiB
TOML
67 lines
1.7 KiB
TOML
[package]
|
|
name = "spacetimedb-table"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license-file = "LICENSE"
|
|
description = "A database Table implementation and friends"
|
|
rust-version.workspace = true
|
|
|
|
[[bench]]
|
|
name = "pointer_map"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "page"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "var_len_visitor"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "page_manager"
|
|
harness = false
|
|
|
|
[features]
|
|
# Allows using `Arbitrary` impls defined in this crate.
|
|
proptest = ["dep:proptest", "dep:proptest-derive", "spacetimedb-sats/proptest"]
|
|
|
|
# Needed for miri
|
|
blake3_pure = ["blake3/pure"]
|
|
|
|
[dependencies]
|
|
spacetimedb-data-structures = { workspace = true, features = ["memory-usage"] }
|
|
spacetimedb-memory-usage = { workspace = true, features = ["hash_map", "ethnum", "smallvec"] }
|
|
spacetimedb-primitives.workspace = true
|
|
spacetimedb-sats = { workspace = true, features = ["blake3"] }
|
|
spacetimedb-lib = { workspace = true, features = ["memory-usage"] }
|
|
spacetimedb-schema.workspace = true
|
|
|
|
ahash.workspace = true
|
|
blake3.workspace = true
|
|
bytemuck = { workspace = true, features = ["derive"] }
|
|
decorum.workspace = true
|
|
derive_more.workspace = true
|
|
enum-as-inner.workspace = true
|
|
foldhash.workspace = true
|
|
hashbrown.workspace = true
|
|
itertools.workspace = true
|
|
smallvec.workspace = true
|
|
thiserror.workspace = true
|
|
crossbeam-queue.workspace = true
|
|
|
|
# For the 'proptest' feature.
|
|
proptest = { workspace = true, optional = true }
|
|
proptest-derive = { workspace = true, optional = true }
|
|
|
|
[dev-dependencies]
|
|
spacetimedb-schema = { path = "../schema", features = ["test"] }
|
|
spacetimedb-sats = { path = "../sats", features = ["proptest"] }
|
|
criterion.workspace = true
|
|
proptest.workspace = true
|
|
proptest-derive.workspace = true
|
|
rand.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|