为了简历丰富一点,写了个小的开源项目: https://github.com/xylou/sqlMask
具体功能就是找到需要查询的列,找到原始的列,并加上 udf
举个例子,数据库 sales 里一张表是 emps,表里有一列是 name
在每次查询 name 的时候需要加上 udf,因为是隐私信息,不能被人看到
比如 select name from emps
会被转换成
select hash_fun(1, 5, emps.name, '*') as name
from sales.emps as emps
用的是 Calcite 的校验逻辑实现的。
或者 select nn from (select name nn from emps) a
会被转换成
select a.nn
from (select hash_fun(1, 5, emps.name, '*') as nn
from sales.emps as emps) as a
现在的问题就是不知道实现的有没有问题,用例也只覆盖了一点点,Sql 会的不是很多
有没有大佬,帮我看看代码有没有啥问题
或者有没有写过奇怪一点 Sql 的大佬,让我见识一下
git 地址: https://github.com/xylou/sqlMask
跪谢!!!
1
zczy OP 求助,有没有在摸鱼的啊
|
2
yuluoxinsheng 2023-07-12 15:17:18 +08:00
有个疑问 由于项目 404 了 你用的 planner 是什么
|