mirror of
https://github.com/clockworklabs/SpacetimeDB.git
synced 2026-05-14 11:48:28 -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. -->
⚠️ Internal Crate ⚠️
This crate is intended for internal use only. It is not stable and may change without notice.