Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
e933276a
Shardingsphere
项目概览
apache
/
Shardingsphere
通知
56
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Shardingsphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e933276a
编写于
6月 06, 2019
作者:
T
tristaZero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
delete ShardingEncryptorEngine in EncryptOrPredicateFiller
上级
cc406218
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
5 addition
and
10 deletion
+5
-10
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/filler/encrypt/dml/EncryptOrPredicateFiller.java
...re/parse/filler/encrypt/dml/EncryptOrPredicateFiller.java
+4
-9
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/filler/sharding/dml/ShardingOrPredicateFiller.java
.../parse/filler/sharding/dml/ShardingOrPredicateFiller.java
+1
-1
未找到文件。
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/filler/encrypt/dml/EncryptOrPredicateFiller.java
浏览文件 @
e933276a
...
...
@@ -36,7 +36,6 @@ import org.apache.shardingsphere.core.parse.sql.segment.dml.predicate.value.Pred
import
org.apache.shardingsphere.core.parse.sql.segment.dml.predicate.value.PredicateInRightValue
;
import
org.apache.shardingsphere.core.parse.sql.statement.SQLStatement
;
import
org.apache.shardingsphere.core.rule.EncryptRule
;
import
org.apache.shardingsphere.core.strategy.encrypt.ShardingEncryptorEngine
;
import
java.util.Collection
;
import
java.util.HashSet
;
...
...
@@ -45,6 +44,7 @@ import java.util.HashSet;
* Or predicate filler for encrypt.
*
* @author duhongjun
* @author panjuan
*/
@Setter
public
final
class
EncryptOrPredicateFiller
implements
SQLSegmentFiller
<
OrPredicateSegment
>,
EncryptRuleAwareFiller
,
ShardingTableMetaDataAwareFiller
{
...
...
@@ -53,9 +53,6 @@ public final class EncryptOrPredicateFiller implements SQLSegmentFiller<OrPredic
private
ShardingTableMetaData
shardingTableMetaData
;
@Deprecated
// TODO should use encryptRule, to be refactored
private
ShardingEncryptorEngine
encryptorEngine
;
@Override
public
void
fill
(
final
OrPredicateSegment
sqlSegment
,
final
SQLStatement
sqlStatement
)
{
Collection
<
Integer
>
stopIndexes
=
new
HashSet
<>();
...
...
@@ -67,7 +64,7 @@ public final class EncryptOrPredicateFiller implements SQLSegmentFiller<OrPredic
}
}
}
private
void
fill
(
final
PredicateSegment
predicateSegment
,
final
SQLStatement
sqlStatement
)
{
Optional
<
String
>
tableName
=
PredicateUtils
.
findTableName
(
predicateSegment
,
sqlStatement
,
shardingTableMetaData
);
if
(!
tableName
.
isPresent
()
||
!
isNeedEncrypt
(
predicateSegment
,
tableName
.
get
()))
{
...
...
@@ -86,7 +83,7 @@ public final class EncryptOrPredicateFiller implements SQLSegmentFiller<OrPredic
andCondition
.
getConditions
().
add
(
condition
.
get
());
}
}
private
Optional
<
Condition
>
createCondition
(
final
PredicateSegment
predicateSegment
,
final
Column
column
)
{
if
(
predicateSegment
.
getRightValue
()
instanceof
PredicateBetweenRightValue
)
{
throw
new
SQLParsingException
(
"The SQL clause 'BETWEEN...AND...' is unsupported in encrypt rule."
);
...
...
@@ -103,9 +100,7 @@ public final class EncryptOrPredicateFiller implements SQLSegmentFiller<OrPredic
}
private
boolean
isNeedEncrypt
(
final
PredicateSegment
predicate
,
final
String
tableName
)
{
// TODO panjuan: spilt EncryptRule and EncryptorEngine, cannot pass EncryptorEngine to parse module
encryptorEngine
=
null
==
encryptorEngine
?
encryptRule
.
getEncryptorEngine
()
:
encryptorEngine
;
return
encryptorEngine
.
getShardingEncryptor
(
tableName
,
predicate
.
getColumn
().
getName
()).
isPresent
();
return
encryptRule
.
getEncryptorEngine
().
getShardingEncryptor
(
tableName
,
predicate
.
getColumn
().
getName
()).
isPresent
();
}
private
boolean
isOperatorSupportedWithEncrypt
(
final
String
operator
)
{
...
...
sharding-core/sharding-core-parse/sharding-core-parse-common/src/main/java/org/apache/shardingsphere/core/parse/filler/sharding/dml/ShardingOrPredicateFiller.java
浏览文件 @
e933276a
...
...
@@ -79,7 +79,7 @@ public final class ShardingOrPredicateFiller implements SQLSegmentFiller<OrPredi
private
EncryptOrPredicateFiller
createEncryptOrPredicateFiller
()
{
EncryptOrPredicateFiller
result
=
new
EncryptOrPredicateFiller
();
result
.
setEncrypt
orEngine
(
shardingRule
.
getEncryptRule
().
getEncryptorEngin
e
());
result
.
setEncrypt
Rule
(
shardingRule
.
getEncryptRul
e
());
result
.
setShardingTableMetaData
(
shardingTableMetaData
);
return
result
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录