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数据库接口

Download history 165/week @ 2024-04-29 261/week @ 2024-05-20 163/week @ 2024-05-27 14/week @ 2024-06-03 126/week @ 2024-06-10 3/week @ 2024-06-17 127/week @ 2024-06-24 24/week @ 2024-07-01 58/week @ 2024-07-29 126/week @ 2024-08-05 18/week @ 2024-08-12

每月 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