围绕jdbc的方解析模式与每个用户的fitlered表

时间:2017-10-04 10:54:35

标签: java jdbc apache-calcite

我需要在特定的jdbc数据源之上为用户公开类似SQL的引擎。每个用户只能看到来自此jdbc数据源的特定过滤数据。

因此,当特定用户针对数据源运行SQL时,例如:

select * from table where column = value

引擎应执行相当增强的查询:

select * from (select * from table where user = specific_user) where column = value

我已经开始搞乱Calcite了 - 如何用它实现这样的逻辑?我应该在JDBCSchema之上添加自定义视图还是尝试构建一个委托给JDBCSchema的新模式?

1 个答案:

答案 0 :(得分:0)

是否预先知道要过滤的表列表(以及包含用户名的列)?如果是这样,您可以构建包含手写视图定义的JSON model file