Expand description
rust-store 语言无关核心(Phase 1)
本 crate 只承载纯逻辑:GQL 解析、Aggregate Pipeline 构建、Projection 计算。 不持有 MongoDB 驱动,不做任何 IO —— 对应方案 A 中「core 产出 Command,Host 执行」的切分。
与现有 JS 实现(src/*.js)的显式差异(即 P0 契约):
- 权限上下文
ctx由隐式AsyncLocalStorage改为显式入参; - schema 注册表由模块级全局
_schemas改为显式Registry实例。
Re-exports§
pub use error::CoreError;pub use error::CoreResult;
Modules§
- bson
- BSON 跨 FFI 线格式契约
- command
- Command 序列契约(方案 A 的「core 产出指令、Host 执行」边界)
- computes
- 计算列引擎(对应 JS
src/computes.js) - datasource
- 数据源(DataSource)—— 多后端路由的纯逻辑
- dialect
- Mongo 方言 → 关系型 SQL 翻译层(纯逻辑,无 IO)
- error
- core 错误类型:FFI 边界的结构化错误(评测报告 rust m-3)。
- federation
- 跨库联邦查询(Phase 5)
- naming
- 命名归一与定向翻译(设计 §6)。唯一实现;
core-node/core-py仅透出。 - permission
- 权限引擎(对应 JS
src/permission.js) - pipeline
- GQL 解析 + Aggregate Pipeline 构建器(对应 JS
src/pipeline.js) - rbac
- RBAC 动态策略引擎(core 层判决插件;静态白名单引擎见
crate::permission) - resource
- 资源纯语义:内容寻址路径 + 引用归一 + URL 模板组合。
- schema
- Schema 管理(对应 JS
src/schema.js) - types
- 类型系统 —— 类型 → 零值映射(对应 JS
src/types.js)