Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
64680918
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,发现更多精彩内容 >>
提交
64680918
编写于
3月 12, 2019
作者:
T
terrymanu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
for #1990, refactor InsertColumnValues
上级
5b7d4e57
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
56 addition
and
39 deletion
+56
-39
sharding-core/sharding-core-parser/sharding-core-parser-common/src/test/resources/META-INF/services/org.apache.shardingsphere.core.parsing.hook.ParsingHook
...s/org.apache.shardingsphere.core.parsing.hook.ParsingHook
+34
-0
sharding-core/sharding-core-rest/src/main/java/org/apache/shardingsphere/core/optimizer/engine/encrypt/EncryptInsertOptimizeEngine.java
...optimizer/engine/encrypt/EncryptInsertOptimizeEngine.java
+1
-3
sharding-core/sharding-core-rest/src/main/java/org/apache/shardingsphere/core/optimizer/engine/sharding/insert/InsertOptimizeEngine.java
...ptimizer/engine/sharding/insert/InsertOptimizeEngine.java
+1
-3
sharding-core/sharding-core-rest/src/main/java/org/apache/shardingsphere/core/optimizer/result/InsertColumnValues.java
...rdingsphere/core/optimizer/result/InsertColumnValues.java
+13
-8
sharding-core/sharding-core-rest/src/test/java/org/apache/shardingsphere/core/optimizer/InsertColumnValuesTest.java
...shardingsphere/core/optimizer/InsertColumnValuesTest.java
+2
-9
sharding-core/sharding-core-rest/src/test/java/org/apache/shardingsphere/core/rewrite/SQLRewriteEngineTest.java
...che/shardingsphere/core/rewrite/SQLRewriteEngineTest.java
+5
-16
未找到文件。
sharding-core/sharding-core-parser/sharding-core-parser-common/src/test/resources/META-INF/services/org.apache.shardingsphere.core.parsing.hook.ParsingHook
浏览文件 @
64680918
...
...
@@ -32,4 +32,38 @@
# limitations under the License.
#
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
org.apache.shardingsphere.core.parsing.hook.fixture.ParsingHookFixture
sharding-core/sharding-core-rest/src/main/java/org/apache/shardingsphere/core/optimizer/engine/encrypt/EncryptInsertOptimizeEngine.java
浏览文件 @
64680918
...
...
@@ -70,9 +70,7 @@ public final class EncryptInsertOptimizeEngine implements OptimizeEngine {
}
private
InsertColumnValues
createInsertColumnValues
()
{
InsertColumnValues
result
=
new
InsertColumnValues
(
insertStatement
.
getInsertValuesToken
().
getType
());
result
.
getColumnNames
().
addAll
(
insertStatement
.
getInsertColumnNames
());
return
result
;
return
new
InsertColumnValues
(
insertStatement
.
getInsertValuesToken
().
getType
(),
insertStatement
.
getInsertColumnNames
());
}
private
List
<
Object
>
getCurrentParameters
(
final
int
beginCount
,
final
int
increment
)
{
...
...
sharding-core/sharding-core-rest/src/main/java/org/apache/shardingsphere/core/optimizer/engine/sharding/insert/InsertOptimizeEngine.java
浏览文件 @
64680918
...
...
@@ -93,9 +93,7 @@ public final class InsertOptimizeEngine implements OptimizeEngine {
}
private
InsertColumnValues
createInsertColumnValues
()
{
InsertColumnValues
result
=
new
InsertColumnValues
(
insertStatement
.
getInsertValuesToken
().
getType
());
result
.
getColumnNames
().
addAll
(
insertStatement
.
getInsertColumnNames
());
return
result
;
return
new
InsertColumnValues
(
insertStatement
.
getInsertValuesToken
().
getType
(),
insertStatement
.
getInsertColumnNames
());
}
private
Iterator
<
Comparable
<?>>
createGeneratedKeys
()
{
...
...
sharding-core/sharding-core-rest/src/main/java/org/apache/shardingsphere/core/optimizer/result/InsertColumnValues.java
浏览文件 @
64680918
...
...
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.core.optimizer.result;
import
com.google.common.base.Predicate
;
import
com.google.common.collect.Collections2
;
import
lombok.Getter
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.shardingsphere.core.parsing.lexer.token.DefaultKeyword
;
import
org.apache.shardingsphere.core.parsing.parser.expression.SQLExpression
;
import
org.apache.shardingsphere.core.parsing.parser.expression.SQLNumberExpression
;
...
...
@@ -40,7 +39,6 @@ import java.util.Set;
* @author panjuan
*/
@Getter
@RequiredArgsConstructor
public
final
class
InsertColumnValues
{
private
final
DefaultKeyword
type
;
...
...
@@ -49,17 +47,19 @@ public final class InsertColumnValues {
private
final
List
<
InsertColumnValue
>
columnValues
=
new
LinkedList
<>();
public
InsertColumnValues
(
final
DefaultKeyword
type
,
final
List
<
String
>
columnNames
)
{
this
.
type
=
type
;
this
.
columnNames
.
addAll
(
columnNames
);
}
/**
* Add insert column value.
*
* @param columnValues column values
* @param columnParameters
column parameters
* @param columnParameters column parameters
*/
public
void
addInsertColumnValue
(
final
List
<
SQLExpression
>
columnValues
,
final
List
<
Object
>
columnParameters
)
{
InsertColumnValue
result
=
new
InsertColumnValue
();
result
.
values
.
addAll
(
columnValues
);
result
.
parameters
.
addAll
(
columnParameters
);
this
.
columnValues
.
add
(
result
);
this
.
columnValues
.
add
(
new
InsertColumnValue
(
columnValues
,
columnParameters
));
}
/**
...
...
@@ -81,8 +81,13 @@ public final class InsertColumnValues {
private
final
List
<
DataNode
>
dataNodes
=
new
LinkedList
<>();
public
InsertColumnValue
(
final
List
<
SQLExpression
>
values
,
final
List
<
Object
>
parameters
)
{
this
.
values
.
addAll
(
values
);
this
.
parameters
.
addAll
(
parameters
);
}
/**
*
Update
column value.
*
Set
column value.
*
* @param columnName column name
* @param columnValue column value
...
...
sharding-core/sharding-core-rest/src/test/java/org/apache/shardingsphere/core/optimizer/InsertColumnValuesTest.java
浏览文件 @
64680918
...
...
@@ -24,7 +24,6 @@ import org.apache.shardingsphere.core.parsing.parser.expression.SQLExpression;
import
org.apache.shardingsphere.core.parsing.parser.expression.SQLNumberExpression
;
import
org.apache.shardingsphere.core.parsing.parser.expression.SQLPlaceholderExpression
;
import
org.apache.shardingsphere.core.parsing.parser.expression.SQLTextExpression
;
import
org.junit.Before
;
import
org.junit.Test
;
import
java.util.Collections
;
...
...
@@ -36,15 +35,9 @@ import static org.junit.Assert.assertThat;
public
class
InsertColumnValuesTest
{
private
InsertColumnValues
insertColumnValuesWithSet
=
new
InsertColumnValues
(
DefaultKeyword
.
SET
);
private
InsertColumnValues
insertColumnValuesWithSet
=
new
InsertColumnValues
(
DefaultKeyword
.
SET
,
Lists
.
newArrayList
(
"id"
,
"value"
,
"status"
)
);
private
InsertColumnValues
insertColumnValuesWithValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
);
@Before
public
void
setUp
()
{
insertColumnValuesWithSet
.
getColumnNames
().
addAll
(
Lists
.
newArrayList
(
"id"
,
"value"
,
"status"
));
insertColumnValuesWithValues
.
getColumnNames
().
addAll
(
Lists
.
newArrayList
(
"id"
,
"value"
,
"status"
));
}
private
InsertColumnValues
insertColumnValuesWithValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
,
Lists
.
newArrayList
(
"id"
,
"value"
,
"status"
));
@Test
public
void
assertAddInsertColumnValueWithSet
()
{
...
...
sharding-core/sharding-core-rest/src/test/java/org/apache/shardingsphere/core/rewrite/SQLRewriteEngineTest.java
浏览文件 @
64680918
...
...
@@ -177,12 +177,9 @@ public final class SQLRewriteEngineTest {
sqlExpressions
.
add
(
new
SQLPlaceholderExpression
(
0
));
sqlExpressions
.
add
(
new
SQLPlaceholderExpression
(
1
));
sqlExpressions
.
add
(
new
SQLPlaceholderExpression
(
2
));
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
);
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
,
Arrays
.
asList
(
"name"
,
"age"
,
"id"
)
);
insertColumnValues
.
addInsertColumnValue
(
sqlExpressions
,
parameters
);
insertColumnValues
.
getColumnValues
().
get
(
0
).
getDataNodes
().
add
(
new
DataNode
(
"db0.table_1"
));
insertColumnValues
.
getColumnNames
().
add
(
"name"
);
insertColumnValues
.
getColumnNames
().
add
(
"age"
);
insertColumnValues
.
getColumnNames
().
add
(
"id"
);
TableUnit
tableUnit
=
new
TableUnit
(
"db0"
);
tableUnit
.
getRoutingTables
().
add
(
new
RoutingTable
(
"table_x"
,
"table_1"
));
SQLRewriteEngine
rewriteEngine
=
new
SQLRewriteEngine
(
shardingRule
,
"INSERT INTO table_x (name, age) VALUES (?, ?)"
,
...
...
@@ -205,9 +202,7 @@ public final class SQLRewriteEngineTest {
List
<
SQLExpression
>
sqlExpressions
=
new
LinkedList
<>();
sqlExpressions
.
add
(
new
SQLPlaceholderExpression
(
0
));
sqlExpressions
.
add
(
new
SQLPlaceholderExpression
(
1
));
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
);
insertColumnValues
.
getColumnNames
().
add
(
"name"
);
insertColumnValues
.
getColumnNames
().
add
(
"id"
);
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
,
Arrays
.
asList
(
"name"
,
"id"
));
insertColumnValues
.
addInsertColumnValue
(
sqlExpressions
,
parameters
);
insertColumnValues
.
getColumnValues
().
get
(
0
).
getDataNodes
().
add
(
new
DataNode
(
"db0.table_1"
));
TableUnit
tableUnit
=
new
TableUnit
(
"db0"
);
...
...
@@ -228,9 +223,7 @@ public final class SQLRewriteEngineTest {
List
<
SQLExpression
>
sqlExpressions
=
new
LinkedList
<>();
sqlExpressions
.
add
(
new
SQLNumberExpression
(
10
));
sqlExpressions
.
add
(
new
SQLNumberExpression
(
1
));
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
);
insertColumnValues
.
getColumnNames
().
add
(
"name"
);
insertColumnValues
.
getColumnNames
().
add
(
"id"
);
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
,
Arrays
.
asList
(
"name"
,
"id"
));
insertColumnValues
.
addInsertColumnValue
(
sqlExpressions
,
new
LinkedList
<>());
insertColumnValues
.
getColumnValues
().
get
(
0
).
getDataNodes
().
add
(
new
DataNode
(
"db0.table_1"
));
TableUnit
tableUnit
=
new
TableUnit
(
"db0"
);
...
...
@@ -254,9 +247,7 @@ public final class SQLRewriteEngineTest {
List
<
SQLExpression
>
sqlExpressions
=
new
LinkedList
<>();
sqlExpressions
.
add
(
new
SQLNumberExpression
(
10
));
sqlExpressions
.
add
(
new
SQLNumberExpression
(
1
));
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
);
insertColumnValues
.
getColumnNames
().
add
(
"name"
);
insertColumnValues
.
getColumnNames
().
add
(
"id"
);
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
,
Arrays
.
asList
(
"name"
,
"id"
));
insertColumnValues
.
addInsertColumnValue
(
sqlExpressions
,
new
LinkedList
<>());
insertColumnValues
.
getColumnValues
().
get
(
0
).
getDataNodes
().
add
(
new
DataNode
(
"db0.table_1"
));
TableUnit
tableUnit
=
new
TableUnit
(
"db0"
);
...
...
@@ -277,9 +268,7 @@ public final class SQLRewriteEngineTest {
insertStatement
.
addSQLToken
(
new
TableToken
(
12
,
0
,
"table_x"
,
"`"
,
"`"
));
insertStatement
.
setInsertValuesListLastIndex
(
34
);
insertStatement
.
addSQLToken
(
new
InsertValuesToken
(
21
,
DefaultKeyword
.
VALUES
));
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
);
insertColumnValues
.
getColumnNames
().
add
(
"name"
);
insertColumnValues
.
getColumnNames
().
add
(
"id"
);
InsertColumnValues
insertColumnValues
=
new
InsertColumnValues
(
DefaultKeyword
.
VALUES
,
Arrays
.
asList
(
"name"
,
"id"
));
List
<
SQLExpression
>
sqlExpressions
=
new
LinkedList
<>();
sqlExpressions
.
add
(
new
SQLPlaceholderExpression
(
0
));
sqlExpressions
.
add
(
new
SQLPlaceholderExpression
(
1
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录