mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
result filter && tenant support
This commit is contained in:
@@ -106,6 +106,7 @@ public class WallConfig implements WallConfigMBean {
|
||||
|
||||
private String tenantTablePattern;
|
||||
private String tenantColumn;
|
||||
private TenantCallBack tenantCallBack;
|
||||
|
||||
private boolean wrapAllow = true;
|
||||
private boolean metadataAllow = true;
|
||||
@@ -239,6 +240,14 @@ public class WallConfig implements WallConfigMBean {
|
||||
this.tenantColumn = tenantColumn;
|
||||
}
|
||||
|
||||
public TenantCallBack getTenantCallBack() {
|
||||
return tenantCallBack;
|
||||
}
|
||||
|
||||
public void setTenantCallBack(TenantCallBack tenantCallBack) {
|
||||
this.tenantCallBack = tenantCallBack;
|
||||
}
|
||||
|
||||
public boolean isMetadataAllow() {
|
||||
return metadataAllow;
|
||||
}
|
||||
@@ -695,4 +704,30 @@ public class WallConfig implements WallConfigMBean {
|
||||
this.callAllow = callAllow;
|
||||
}
|
||||
|
||||
public static abstract interface TenantCallBack {
|
||||
|
||||
public static enum StatementType {
|
||||
SELECT, UPDATE, INSERT, DELETE
|
||||
}
|
||||
|
||||
Object getTenantValue(StatementType statementType, String tableName);
|
||||
|
||||
String getTenantColumn(StatementType statementType, String tableName);
|
||||
|
||||
/**
|
||||
* 返回resultset隐藏列名
|
||||
*
|
||||
* @param tableName
|
||||
* @return
|
||||
*/
|
||||
String getHiddenColumn(String tableName);
|
||||
|
||||
/**
|
||||
* resultset返回值中如果包含hiddenColumn的回调函数
|
||||
*
|
||||
* @param value hiddenColumn对应的值
|
||||
*/
|
||||
void resultset_hiddenColumn(Object value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user