Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
e0a2692b
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,发现更多精彩内容 >>
提交
e0a2692b
编写于
5月 04, 2017
作者:
T
terrymanu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove unnecessary code for ConditionContext
上级
04364aac
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
34 addition
and
86 deletion
+34
-86
sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/parser/result/router/ConditionContext.java
...e/rdb/sharding/parser/result/router/ConditionContext.java
+0
-13
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parser/sql/parser/DeleteStatementParserTest.java
...sharding/parser/sql/parser/DeleteStatementParserTest.java
+15
-30
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parser/sql/parser/InsertStatementParserTest.java
...sharding/parser/sql/parser/InsertStatementParserTest.java
+3
-12
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parser/sql/parser/UpdateStatementParserTest.java
...sharding/parser/sql/parser/UpdateStatementParserTest.java
+16
-31
未找到文件。
sharding-jdbc-core/src/main/java/com/dangdang/ddframe/rdb/sharding/parser/result/router/ConditionContext.java
浏览文件 @
e0a2692b
...
...
@@ -21,7 +21,6 @@ import com.dangdang.ddframe.rdb.sharding.parser.result.router.Condition.Column;
import
com.google.common.base.Optional
;
import
lombok.ToString
;
import
java.util.Collection
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -57,18 +56,6 @@ public final class ConditionContext {
return
Optional
.
fromNullable
(
conditions
.
get
(
new
Column
(
column
,
table
)));
}
public
boolean
isEmpty
()
{
return
conditions
.
isEmpty
();
}
public
void
clear
()
{
conditions
.
clear
();
}
public
Collection
<
Condition
>
getAllConditions
()
{
return
conditions
.
values
();
}
/**
* 解析参数中间的新数据.
*
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parser/sql/parser/DeleteStatementParserTest.java
浏览文件 @
e0a2692b
...
...
@@ -26,13 +26,11 @@ import org.junit.Test;
import
java.sql.SQLException
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Iterator
;
import
java.util.List
;
import
static
org
.
hamcrest
.
core
.
Is
.
is
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertThat
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
public
final
class
DeleteStatementParserTest
extends
AbstractStatementParserTest
{
...
...
@@ -43,7 +41,6 @@ public final class DeleteStatementParserTest extends AbstractStatementParserTest
SQLParserEngine
statementParser
=
new
SQLParserEngine
(
DatabaseType
.
MySQL
,
"DELETE FROM TABLE_XXX"
,
shardingRule
,
parameters
);
DeleteSQLContext
sqlContext
=
(
DeleteSQLContext
)
statementParser
.
parseStatement
();
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getName
(),
is
(
"TABLE_XXX"
));
assertTrue
(
sqlContext
.
getConditionContext
().
isEmpty
());
assertThat
(
sqlContext
.
getSqlBuilder
().
toString
(),
is
(
"DELETE FROM [Token(TABLE_XXX)]"
));
}
...
...
@@ -75,28 +72,20 @@ public final class DeleteStatementParserTest extends AbstractStatementParserTest
private
void
assertDeleteStatement
(
final
DeleteSQLContext
sqlContext
)
{
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getName
(),
is
(
"TABLE_XXX"
));
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getAlias
().
get
(),
is
(
"xxx"
));
Iterator
<
Condition
>
conditions
=
sqlContext
.
getConditionContext
().
getAllConditions
().
iterator
();
Condition
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field1"
));
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field2"
));
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
IN
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
2
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
assertThat
(
condition
.
getValues
().
get
(
1
),
is
((
Comparable
)
3
));
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field3"
));
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
BETWEEN
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
2
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
5
));
assertThat
(
condition
.
getValues
().
get
(
1
),
is
((
Comparable
)
20
));
assertFalse
(
conditions
.
hasNext
());
Condition
condition1
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field1"
).
get
();
assertThat
(
condition1
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition1
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition1
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
Condition
condition2
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field2"
).
get
();
assertThat
(
condition2
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
IN
));
assertThat
(
condition2
.
getValues
().
size
(),
is
(
2
));
assertThat
(
condition2
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
assertThat
(
condition2
.
getValues
().
get
(
1
),
is
((
Comparable
)
3
));
Condition
condition3
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field3"
).
get
();
assertThat
(
condition3
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
BETWEEN
));
assertThat
(
condition3
.
getValues
().
size
(),
is
(
2
));
assertThat
(
condition3
.
getValues
().
get
(
0
),
is
((
Comparable
)
5
));
assertThat
(
condition3
.
getValues
().
get
(
1
),
is
((
Comparable
)
20
));
}
@Test
(
expected
=
UnsupportedOperationException
.
class
)
...
...
@@ -143,14 +132,10 @@ public final class DeleteStatementParserTest extends AbstractStatementParserTest
DeleteSQLContext
sqlContext
=
(
DeleteSQLContext
)
new
SQLParserEngine
(
dbType
,
actualSQL
,
createShardingRule
(),
Collections
.
emptyList
()).
parseStatement
();
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getName
(),
is
(
"TABLE_XXX"
));
assertFalse
(
sqlContext
.
getTables
().
get
(
0
).
getAlias
().
isPresent
());
Iterator
<
Condition
>
conditions
=
sqlContext
.
getConditionContext
().
getAllConditions
().
iterator
();
Condition
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field1"
));
Condition
condition
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field1"
).
get
();
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
assertFalse
(
conditions
.
hasNext
());
assertThat
(
sqlContext
.
getSqlBuilder
().
toString
().
replace
(
"([Token(TABLE_XXX)] )"
,
"([Token(TABLE_XXX)])"
),
is
(
expectedSQL
));
}
}
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parser/sql/parser/InsertStatementParserTest.java
浏览文件 @
e0a2692b
...
...
@@ -36,7 +36,6 @@ import java.sql.SQLException;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -90,20 +89,16 @@ public final class InsertStatementParserTest extends AbstractStatementParserTest
private
void
assertInsertStatement
(
final
InsertSQLContext
sqlContext
)
{
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getName
(),
is
(
"TABLE_XXX"
));
Iterator
<
Condition
>
conditions
=
sqlContext
.
getConditionContext
().
getAllConditions
().
iterator
();
Condition
condition1
=
conditions
.
next
();
assertThat
(
condition1
.
getColumn
().
getColumnName
(),
is
(
"field1"
));
assertThat
(
condition1
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
Condition
condition1
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field1"
).
get
();
assertThat
(
condition1
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition1
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition1
.
getValues
().
get
(
0
),
is
((
Comparable
)
10
));
Condition
condition2
=
conditions
.
nex
t
();
Condition
condition2
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field2"
).
ge
t
();
assertThat
(
condition2
.
getColumn
().
getColumnName
(),
is
(
"field2"
));
assertThat
(
condition2
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition2
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition2
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition2
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
assertFalse
(
conditions
.
hasNext
());
}
private
ShardingRule
createShardingRuleWithAutoIncrementColumns
()
{
...
...
@@ -153,14 +148,10 @@ public final class InsertStatementParserTest extends AbstractStatementParserTest
InsertSQLContext
sqlContext
=
(
InsertSQLContext
)
new
SQLParserEngine
(
dbType
,
actualSQL
,
createShardingRule
(),
Collections
.
emptyList
()).
parseStatement
();
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getName
(),
is
(
"TABLE_XXX"
));
assertFalse
(
sqlContext
.
getTables
().
get
(
0
).
getAlias
().
isPresent
());
Iterator
<
Condition
>
conditions
=
sqlContext
.
getConditionContext
().
getAllConditions
().
iterator
();
Condition
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field1"
));
Condition
condition
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field1"
).
get
();
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
assertFalse
(
conditions
.
hasNext
());
assertThat
(
sqlContext
.
getSqlBuilder
().
toString
(),
is
(
expectedSQL
));
}
...
...
sharding-jdbc-core/src/test/java/com/dangdang/ddframe/rdb/sharding/parser/sql/parser/UpdateStatementParserTest.java
浏览文件 @
e0a2692b
...
...
@@ -26,24 +26,21 @@ import org.junit.Test;
import
java.sql.SQLException
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Iterator
;
import
java.util.List
;
import
static
org
.
hamcrest
.
core
.
Is
.
is
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertThat
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
public
final
class
UpdateStatementParserTest
extends
AbstractStatementParserTest
{
@Test
public
void
parseWithoutCondition
()
throws
SQLException
{
public
void
parseWithoutCondition
()
throws
SQLException
,
NoSuchFieldException
,
IllegalAccessException
{
ShardingRule
shardingRule
=
createShardingRule
();
List
<
Object
>
parameters
=
Collections
.
emptyList
();
SQLParserEngine
statementParser
=
new
SQLParserEngine
(
DatabaseType
.
MySQL
,
"UPDATE TABLE_XXX SET field1=field1+1"
,
shardingRule
,
parameters
);
UpdateSQLContext
sqlContext
=
(
UpdateSQLContext
)
statementParser
.
parseStatement
();
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getName
(),
is
(
"TABLE_XXX"
));
assertTrue
(
sqlContext
.
getConditionContext
().
isEmpty
());
assertThat
(
sqlContext
.
getSqlBuilder
().
toString
(),
is
(
"UPDATE [Token(TABLE_XXX)] SET field1=field1+1"
));
}
...
...
@@ -76,28 +73,20 @@ public final class UpdateStatementParserTest extends AbstractStatementParserTest
private
void
assertUpdateStatement
(
final
UpdateSQLContext
sqlContext
)
{
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getName
(),
is
(
"TABLE_XXX"
));
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getAlias
().
get
(),
is
(
"xxx"
));
Iterator
<
Condition
>
conditions
=
sqlContext
.
getConditionContext
().
getAllConditions
().
iterator
();
Condition
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field1"
));
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field2"
));
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
IN
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
2
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
assertThat
(
condition
.
getValues
().
get
(
1
),
is
((
Comparable
)
3
));
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field3"
));
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
BETWEEN
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
2
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
5
));
assertThat
(
condition
.
getValues
().
get
(
1
),
is
((
Comparable
)
20
));
assertFalse
(
conditions
.
hasNext
());
Condition
condition1
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field1"
).
get
();
assertThat
(
condition1
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition1
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition1
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
Condition
condition2
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field2"
).
get
();
assertThat
(
condition2
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
IN
));
assertThat
(
condition2
.
getValues
().
size
(),
is
(
2
));
assertThat
(
condition2
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
assertThat
(
condition2
.
getValues
().
get
(
1
),
is
((
Comparable
)
3
));
Condition
condition3
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field3"
).
get
();
assertThat
(
condition3
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
BETWEEN
));
assertThat
(
condition3
.
getValues
().
size
(),
is
(
2
));
assertThat
(
condition3
.
getValues
().
get
(
0
),
is
((
Comparable
)
5
));
assertThat
(
condition3
.
getValues
().
get
(
1
),
is
((
Comparable
)
20
));
}
@Test
(
expected
=
ParserUnsupportedException
.
class
)
...
...
@@ -135,14 +124,10 @@ public final class UpdateStatementParserTest extends AbstractStatementParserTest
UpdateSQLContext
sqlContext
=
(
UpdateSQLContext
)
new
SQLParserEngine
(
dbType
,
actualSQL
,
createShardingRule
(),
Collections
.
emptyList
()).
parseStatement
();
assertThat
(
sqlContext
.
getTables
().
get
(
0
).
getName
(),
is
(
"TABLE_XXX"
));
assertFalse
(
sqlContext
.
getTables
().
get
(
0
).
getAlias
().
isPresent
());
Iterator
<
Condition
>
conditions
=
sqlContext
.
getConditionContext
().
getAllConditions
().
iterator
();
Condition
condition
=
conditions
.
next
();
assertThat
(
condition
.
getColumn
().
getTableName
(),
is
(
"TABLE_XXX"
));
assertThat
(
condition
.
getColumn
().
getColumnName
(),
is
(
"field1"
));
Condition
condition
=
sqlContext
.
getConditionContext
().
find
(
"TABLE_XXX"
,
"field1"
).
get
();
assertThat
(
condition
.
getOperator
(),
is
(
Condition
.
BinaryOperator
.
EQUAL
));
assertThat
(
condition
.
getValues
().
size
(),
is
(
1
));
assertThat
(
condition
.
getValues
().
get
(
0
),
is
((
Comparable
)
1
));
assertFalse
(
conditions
.
hasNext
());
assertThat
(
sqlContext
.
getSqlBuilder
().
toString
(),
is
(
expectedSQL
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录