快速接入
以下包名和接口遵循当前 LogicForm V2 开发契约。
一次执行需要什么
调用 Logicform.execute(logicform, options) 至少需要四类输入:
- 一份
version >= 2.0的 LogicForm; - LogicForm 引用的逻辑 Schema;
- Schema 到物理数据源的 Mapping;
- Mapping 引用的数据库连接。
1. 定义 Schema
Schema 描述业务语义,不保存数据库连接、表名或方言。property.id 是默认物理字段名,property.name 是推荐给 LogicForm 使用的业务名称。
2. 定义物理 Mapping
常用字段:
未配置 properties 时,Property 默认使用 property.id 作为物理列名。
3. 提供连接
内置连接类型包括:
mysqldorisstarrockspostgresqlclickhousesnowflakeoracle
每个连接必须有非空且唯一的 id。一条 LogicForm 的所有物理依赖必须能路由到同一种 Provider;不能在一次查询中跨不同数据库连接做隐式联邦计算。
4. 执行 LogicForm
成功时:
ExecuteOptions 一览
连接和 Registry 生命周期
SchemaMappingRegistry、SemanticTypeRegistry、OperatorRegistry、插件定义和 Query Cache 都建议在应用启动时创建并跨请求复用。- 连接配置由调用方提供,SemanticDB 按
connection.id复用内部连接。 - 应用关闭时调用
await Logicform.close()关闭 SemanticDB 管理的数据库连接。 - 调用方注入的 Query Cache 不会被
Logicform.close()自动关闭,应按缓存实现自己的生命周期关闭。
权限示例
传入 permissions 时,它的 Schema key 同时构成 Schema allowlist。行权限会与用户 Query 合取,列权限限制可查询和可输出的 Property;权限条件不会被用户条件覆盖。

