mirror of
https://github.com/clockworklabs/SpacetimeDB.git
synced 2026-05-12 18:57:51 -04:00
0a6aa7c5d9
# Description of Changes This commit extends various schema and schema-adjacent structures to describe procedures, a new kind of database function which are allowed to perform side effects. This includes extending `RawModuleDefV9` with a way to register `RawProcedureDefV9`s in the `misc_exports`, preserving compatibility with modules that predate procedures. The module validation path is reorganized somewhat to validate various properties related to procedures while preserving code clarity and maintainability. Additionally, the `ArgsTuple` machinery for ser/de-ing reducer arguments using the argument type as a seed is extended to also support procedure arguments. All of this is currently unused. # API and ABI breaking changes Additive and backwards-compatible additions to `RawModuleDefV9` and friends. # Expected complexity level and risk 2 - some minor complexity in schema validation which may have gotten borked in a merge at some point. # Testing Unsure what tests would be useful, open to suggestions from reviewers. - [ ] <!-- maybe a test you want to do --> - [ ] <!-- maybe a test you want a reviewer to do, so they can check it off when they're satisfied. -->
25 lines
593 B
TOML
25 lines
593 B
TOML
[package]
|
|
name = "spacetimedb-primitives"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license-file = "LICENSE"
|
|
description = "Primitives such as TableId and ColumnIndexAttribute"
|
|
rust-version.workspace = true
|
|
|
|
[features]
|
|
memory-usage = ["dep:spacetimedb-memory-usage"]
|
|
|
|
[dependencies]
|
|
bitflags.workspace = true
|
|
either.workspace = true
|
|
enum-as-inner.workspace = true
|
|
nohash-hasher.workspace = true
|
|
itertools.workspace = true
|
|
spacetimedb-memory-usage = { workspace = true, optional = true, default-features = false }
|
|
|
|
[dev-dependencies]
|
|
proptest.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|