Lobsters | 原文链接 | 2026-09-17 收录

用符号求值把行级安全策略压进编译期

来源: acadia.engineering — 2026-09-16

概述

Acadia 要求每张表都必须显式声明行级安全策略,并在全系统的 access、insert、update、remove 事务上强制生效,因此不依赖程序员的记性,也不会在某些奇怪的分支上「忘记」检查。为了让策略不拖慢查询,Acadia 在编译期做符号求值,把所有不依赖表数据的计算提前消掉,把表达力很强的策略简化成每条查询上简洁的 WHERE 子句。文章用图书评论表和用户表举例,展示如何用 token 表达不同授权场景。

核心要点

金句

有了清晰的策略还不够,我们还希望查询尽可能快——这正是编译期符号求值要解决的问题。
返回 Lobsters 首页