15 个版本 (5 个重大更新)
0.11.0 | 2024 年 8 月 6 日 |
---|---|
0.10.1 | 2024 年 6 月 28 日 |
0.9.2 | 2024 年 5 月 28 日 |
0.8.2 | 2024 年 2 月 15 日 |
0.7.3 | 2023 年 11 月 8 日 |
#931 在 数据库接口
每月 202 次下载
在 4 个 Crates 中使用(通过 spacetimedb-core)
145KB
3K SLoC
用户逻辑执行的抽象虚拟机
它优化代码并包含更通用的“查询规划器”
执行分为 3 个“阶段”
1- AST 构建
生成 AST(根据语义可能无效)。
这一步在 [vm] 之外,可以通过 SQL 层完成,例如。
使用 [dsl] 构建 [expr:Expr],这是构建 AST 的方法。
2- AST 验证
调用 eval::optimize 验证代码具有正确的语义(即:它检查类型、模式、函数是否有效等),并将代码“简化”为更优化的形式,以便后续执行。
这构建 expr::Expr,即可以存储在数据库中的内容,即:类似于字节码。
3- 执行
运行从 expr::Expr 构建的 AST。它假设它是正确的。
依赖项
~8.5MB
~144K SLoC