Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
70c5428a
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,发现更多精彩内容 >>
未验证
提交
70c5428a
编写于
2月 18, 2020
作者:
L
Liang Zhang
提交者:
GitHub
2月 18, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
decouple find InsertColumnsSegment with insert statement (#4346)
上级
75121668
变更
19
隐藏空白更改
内联
并排
Showing
19 changed file
with
40 addition
and
31 deletion
+40
-31
encrypt-core/encrypt-core-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/AssistQueryAndPlainInsertColumnsTokenGenerator.java
.../impl/AssistQueryAndPlainInsertColumnsTokenGenerator.java
+5
-4
encrypt-core/encrypt-core-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptForUseDefaultInsertColumnsTokenGenerator.java
...impl/EncryptForUseDefaultInsertColumnsTokenGenerator.java
+1
-1
encrypt-core/encrypt-core-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/InsertCipherNameTokenGenerator.java
.../token/generator/impl/InsertCipherNameTokenGenerator.java
+7
-3
shadow-core/shadow-core-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/RemoveShadowColumnTokenGenerator.java
...oken/generator/impl/RemoveShadowColumnTokenGenerator.java
+7
-3
shadow-core/shadow-core-rewrite/src/test/java/org/apache/shardingsphere/shadow/rewrite/judgement/impl/PreparedJudgementEngineTest.java
...w/rewrite/judgement/impl/PreparedJudgementEngineTest.java
+1
-1
shadow-core/shadow-core-rewrite/src/test/java/org/apache/shardingsphere/shadow/rewrite/judgement/impl/SimpleJudgementEngineTest.java
...dow/rewrite/judgement/impl/SimpleJudgementEngineTest.java
+1
-1
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngineTest.java
...sphere/sharding/merge/ShardingResultMergerEngineTest.java
+1
-1
sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/keygen/GeneratedKeyForUseDefaultInsertColumnsTokenGenerator.java
...GeneratedKeyForUseDefaultInsertColumnsTokenGenerator.java
+1
-1
sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/keygen/GeneratedKeyInsertColumnTokenGenerator.java
...r/impl/keygen/GeneratedKeyInsertColumnTokenGenerator.java
+2
-2
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/keygen/GeneratedKeyTest.java
...sphere/sharding/route/engine/keygen/GeneratedKeyTest.java
+1
-1
shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/filler/impl/dml/InsertColumnsFiller.java
.../sql/parser/core/filler/impl/dml/InsertColumnsFiller.java
+1
-1
shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/InsertStatement.java
...gsphere/sql/parser/sql/statement/dml/InsertStatement.java
+3
-3
shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/InsertStatementTest.java
...ere/sql/parser/sql/statement/dml/InsertStatementTest.java
+3
-3
shardingsphere-sql-parser/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/MySQLDMLVisitor.java
...ardingsphere/sql/parser/visitor/impl/MySQLDMLVisitor.java
+1
-1
shardingsphere-sql-parser/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/OracleDMLVisitor.java
...rdingsphere/sql/parser/visitor/impl/OracleDMLVisitor.java
+1
-1
shardingsphere-sql-parser/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/PostgreSQLDMLVisitor.java
...gsphere/sql/parser/visitor/impl/PostgreSQLDMLVisitor.java
+1
-1
shardingsphere-sql-parser/shardingsphere-sql-parser-relation/src/test/java/org/apache/shardingsphere/sql/parser/relation/statement/impl/InsertSQLStatementContextTest.java
...elation/statement/impl/InsertSQLStatementContextTest.java
+1
-1
shardingsphere-sql-parser/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/SQL92DMLVisitor.java
...ardingsphere/sql/parser/visitor/impl/SQL92DMLVisitor.java
+1
-1
shardingsphere-sql-parser/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/SQLServerDMLVisitor.java
...ngsphere/sql/parser/visitor/impl/SQLServerDMLVisitor.java
+1
-1
未找到文件。
encrypt-core/encrypt-core-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/AssistQueryAndPlainInsertColumnsTokenGenerator.java
浏览文件 @
70c5428a
...
...
@@ -19,13 +19,12 @@ package org.apache.shardingsphere.encrypt.rewrite.token.generator.impl;
import
com.google.common.base.Optional
;
import
com.google.common.base.Preconditions
;
import
org.apache.shardingsphere.encrypt.rewrite.token.generator.BaseEncryptSQLTokenGenerator
;
import
org.apache.shardingsphere.encrypt.strategy.EncryptTable
;
import
org.apache.shardingsphere.sql.parser.relation.statement.SQLStatementContext
;
import
org.apache.shardingsphere.sql.parser.relation.statement.impl.InsertSQLStatementContext
;
import
org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegment
;
import
org.apache.shardingsphere.sql.parser.sql.segment.dml.column.InsertColumnsSegment
;
import
org.apache.shardingsphere.sql.parser.sql.statement.dml.InsertStatement
;
import
org.apache.shardingsphere.encrypt.rewrite.token.generator.BaseEncryptSQLTokenGenerator
;
import
org.apache.shardingsphere.underlying.rewrite.sql.token.generator.CollectionSQLTokenGenerator
;
import
org.apache.shardingsphere.underlying.rewrite.sql.token.pojo.generic.InsertColumnsToken
;
...
...
@@ -40,8 +39,10 @@ public final class AssistQueryAndPlainInsertColumnsTokenGenerator extends BaseEn
@Override
protected
boolean
isGenerateSQLTokenForEncrypt
(
final
SQLStatementContext
sqlStatementContext
)
{
return
sqlStatementContext
instanceof
InsertSQLStatementContext
&&
sqlStatementContext
.
getSqlStatement
().
findSQLSegment
(
InsertColumnsSegment
.
class
).
isPresent
()
&&
!((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
useDefaultColumns
();
if
(!(
sqlStatementContext
instanceof
InsertSQLStatementContext
))
{
return
false
;
}
return
((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
getInsertColumns
().
isPresent
()
&&
!((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
useDefaultColumns
();
}
@Override
...
...
encrypt-core/encrypt-core-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/EncryptForUseDefaultInsertColumnsTokenGenerator.java
浏览文件 @
70c5428a
...
...
@@ -77,7 +77,7 @@ public final class EncryptForUseDefaultInsertColumnsTokenGenerator extends BaseE
}
private
UseDefaultInsertColumnsToken
generateNewSQLToken
(
final
InsertSQLStatementContext
sqlStatementContext
,
final
String
tableName
)
{
Optional
<
InsertColumnsSegment
>
insertColumnsSegment
=
sqlStatementContext
.
getSqlStatement
().
findSQLSegment
(
InsertColumnsSegment
.
class
);
Optional
<
InsertColumnsSegment
>
insertColumnsSegment
=
((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
getInsertColumns
(
);
Preconditions
.
checkState
(
insertColumnsSegment
.
isPresent
());
Optional
<
EncryptTable
>
encryptTable
=
getEncryptRule
().
findEncryptTable
(
tableName
);
Preconditions
.
checkState
(
encryptTable
.
isPresent
());
...
...
encrypt-core/encrypt-core-rewrite/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/impl/InsertCipherNameTokenGenerator.java
浏览文件 @
70c5428a
...
...
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.sql.parser.relation.statement.impl.InsertSQLSta
import
org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegment
;
import
org.apache.shardingsphere.sql.parser.sql.segment.dml.column.InsertColumnsSegment
;
import
org.apache.shardingsphere.encrypt.rewrite.token.generator.BaseEncryptSQLTokenGenerator
;
import
org.apache.shardingsphere.sql.parser.sql.statement.dml.InsertStatement
;
import
org.apache.shardingsphere.underlying.rewrite.sql.token.generator.CollectionSQLTokenGenerator
;
import
org.apache.shardingsphere.underlying.rewrite.sql.token.pojo.generic.SubstitutableColumnNameToken
;
...
...
@@ -38,13 +39,16 @@ public final class InsertCipherNameTokenGenerator extends BaseEncryptSQLTokenGen
@Override
protected
boolean
isGenerateSQLTokenForEncrypt
(
final
SQLStatementContext
sqlStatementContext
)
{
Optional
<
InsertColumnsSegment
>
insertColumnsSegment
=
sqlStatementContext
.
getSqlStatement
().
findSQLSegment
(
InsertColumnsSegment
.
class
);
return
sqlStatementContext
instanceof
InsertSQLStatementContext
&&
insertColumnsSegment
.
isPresent
()
&&
!
insertColumnsSegment
.
get
().
getColumns
().
isEmpty
();
if
(!(
sqlStatementContext
instanceof
InsertSQLStatementContext
))
{
return
false
;
}
Optional
<
InsertColumnsSegment
>
insertColumnsSegment
=
((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
getInsertColumns
();
return
insertColumnsSegment
.
isPresent
()
&&
!
insertColumnsSegment
.
get
().
getColumns
().
isEmpty
();
}
@Override
public
Collection
<
SubstitutableColumnNameToken
>
generateSQLTokens
(
final
SQLStatementContext
sqlStatementContext
)
{
Optional
<
InsertColumnsSegment
>
sqlSegment
=
sqlStatementContext
.
getSqlStatement
().
findSQLSegment
(
InsertColumnsSegment
.
class
);
Optional
<
InsertColumnsSegment
>
sqlSegment
=
((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
getInsertColumns
(
);
Preconditions
.
checkState
(
sqlSegment
.
isPresent
());
Map
<
String
,
String
>
logicAndCipherColumns
=
getEncryptRule
().
getLogicAndCipherColumns
(
sqlStatementContext
.
getTablesContext
().
getSingleTableName
());
Collection
<
SubstitutableColumnNameToken
>
result
=
new
LinkedList
<>();
...
...
shadow-core/shadow-core-rewrite/src/main/java/org/apache/shardingsphere/shadow/rewrite/token/generator/impl/RemoveShadowColumnTokenGenerator.java
浏览文件 @
70c5428a
...
...
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.sql.parser.relation.statement.SQLStatementConte
import
org.apache.shardingsphere.sql.parser.relation.statement.impl.InsertSQLStatementContext
;
import
org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegment
;
import
org.apache.shardingsphere.sql.parser.sql.segment.dml.column.InsertColumnsSegment
;
import
org.apache.shardingsphere.sql.parser.sql.statement.dml.InsertStatement
;
import
org.apache.shardingsphere.underlying.rewrite.sql.token.generator.CollectionSQLTokenGenerator
;
import
org.apache.shardingsphere.underlying.rewrite.sql.token.pojo.generic.RemoveToken
;
...
...
@@ -37,13 +38,16 @@ public final class RemoveShadowColumnTokenGenerator extends BaseShadowSQLTokenGe
@Override
protected
boolean
isGenerateSQLTokenForShadow
(
final
SQLStatementContext
sqlStatementContext
)
{
Optional
<
InsertColumnsSegment
>
insertColumnsSegment
=
sqlStatementContext
.
getSqlStatement
().
findSQLSegment
(
InsertColumnsSegment
.
class
);
return
sqlStatementContext
instanceof
InsertSQLStatementContext
&&
insertColumnsSegment
.
isPresent
()
&&
!
insertColumnsSegment
.
get
().
getColumns
().
isEmpty
();
if
(!(
sqlStatementContext
instanceof
InsertSQLStatementContext
))
{
return
false
;
}
Optional
<
InsertColumnsSegment
>
insertColumnsSegment
=
((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
getInsertColumns
();
return
insertColumnsSegment
.
isPresent
()
&&
!
insertColumnsSegment
.
get
().
getColumns
().
isEmpty
();
}
@Override
public
Collection
<
RemoveToken
>
generateSQLTokens
(
final
SQLStatementContext
sqlStatementContext
)
{
Optional
<
InsertColumnsSegment
>
sqlSegment
=
sqlStatementContext
.
getSqlStatement
().
findSQLSegment
(
InsertColumnsSegment
.
class
);
Optional
<
InsertColumnsSegment
>
sqlSegment
=
((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
getInsertColumns
(
);
Preconditions
.
checkState
(
sqlSegment
.
isPresent
());
Collection
<
RemoveToken
>
result
=
new
LinkedList
<>();
LinkedList
<
ColumnSegment
>
columns
=
(
LinkedList
<
ColumnSegment
>)
sqlSegment
.
get
().
getColumns
();
...
...
shadow-core/shadow-core-rewrite/src/test/java/org/apache/shardingsphere/shadow/rewrite/judgement/impl/PreparedJudgementEngineTest.java
浏览文件 @
70c5428a
...
...
@@ -45,7 +45,7 @@ public final class PreparedJudgementEngineTest {
InsertStatement
insertStatement
=
new
InsertStatement
();
InsertColumnsSegment
insertColumnsSegment
=
new
InsertColumnsSegment
(
0
,
0
,
Arrays
.
asList
(
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"id"
)),
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"name"
)),
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"shadow"
))));
insertStatement
.
setColumns
(
insertColumnsSegment
);
insertStatement
.
set
Insert
Columns
(
insertColumnsSegment
);
InsertSQLStatementContext
insertSQLStatementContext
=
new
InsertSQLStatementContext
(
relationMetas
,
Arrays
.<
Object
>
asList
(
1
,
"Tom"
,
2
,
"Jerry"
,
3
,
true
),
insertStatement
);
PreparedJudgementEngine
preparedJudgementEngine
=
new
PreparedJudgementEngine
(
shadowRule
,
insertSQLStatementContext
,
Arrays
.<
Object
>
asList
(
1
,
"Tom"
,
true
));
Assert
.
assertTrue
(
"should be shadow"
,
preparedJudgementEngine
.
isShadowSQL
());
...
...
shadow-core/shadow-core-rewrite/src/test/java/org/apache/shardingsphere/shadow/rewrite/judgement/impl/SimpleJudgementEngineTest.java
浏览文件 @
70c5428a
...
...
@@ -67,7 +67,7 @@ public final class SimpleJudgementEngineTest {
InsertStatement
insertStatement
=
new
InsertStatement
();
InsertColumnsSegment
insertColumnsSegment
=
new
InsertColumnsSegment
(
0
,
0
,
Arrays
.
asList
(
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"id"
)),
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"name"
)),
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"shadow"
))));
insertStatement
.
setColumns
(
insertColumnsSegment
);
insertStatement
.
set
Insert
Columns
(
insertColumnsSegment
);
insertStatement
.
getValues
()
.
addAll
(
Collections
.
singletonList
(
new
InsertValuesSegment
(
0
,
0
,
new
ArrayList
<
ExpressionSegment
>()
{
{
...
...
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/sharding/merge/ShardingResultMergerEngineTest.java
浏览文件 @
70c5428a
...
...
@@ -70,7 +70,7 @@ public final class ShardingResultMergerEngineTest {
InsertStatement
insertStatement
=
new
InsertStatement
();
insertStatement
.
getAllSQLSegments
().
add
(
new
TableSegment
(
0
,
0
,
new
IdentifierValue
(
"tbl"
)));
InsertColumnsSegment
insertColumnsSegment
=
new
InsertColumnsSegment
(
0
,
0
,
Collections
.
singletonList
(
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"col"
))));
insertStatement
.
setColumns
(
insertColumnsSegment
);
insertStatement
.
set
Insert
Columns
(
insertColumnsSegment
);
SQLStatementContext
sqlStatementContext
=
new
InsertSQLStatementContext
(
null
,
Collections
.
emptyList
(),
insertStatement
);
ShardingSphereProperties
properties
=
new
ShardingSphereProperties
(
new
Properties
());
assertThat
(
new
ShardingResultMergerEngine
().
newInstance
(
DatabaseTypes
.
getActualDatabaseType
(
"MySQL"
),
null
,
properties
,
sqlStatementContext
),
instanceOf
(
TransparentResultMerger
.
class
));
...
...
sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/keygen/GeneratedKeyForUseDefaultInsertColumnsTokenGenerator.java
浏览文件 @
70c5428a
...
...
@@ -41,7 +41,7 @@ public final class GeneratedKeyForUseDefaultInsertColumnsTokenGenerator extends
@Override
protected
UseDefaultInsertColumnsToken
generateSQLToken
(
final
SQLStatementContext
sqlStatementContext
,
final
GeneratedKey
generatedKey
)
{
Optional
<
InsertColumnsSegment
>
insertColumnsSegment
=
sqlStatementContext
.
getSqlStatement
().
findSQLSegment
(
InsertColumnsSegment
.
class
);
Optional
<
InsertColumnsSegment
>
insertColumnsSegment
=
((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
getInsertColumns
(
);
Preconditions
.
checkState
(
insertColumnsSegment
.
isPresent
());
return
new
UseDefaultInsertColumnsToken
(
insertColumnsSegment
.
get
().
getStopIndex
(),
getColumnNames
((
InsertSQLStatementContext
)
sqlStatementContext
,
generatedKey
));
}
...
...
sharding-core/sharding-core-rewrite/src/main/java/org/apache/shardingsphere/sharding/rewrite/token/generator/impl/keygen/GeneratedKeyInsertColumnTokenGenerator.java
浏览文件 @
70c5428a
...
...
@@ -32,13 +32,13 @@ public final class GeneratedKeyInsertColumnTokenGenerator extends BaseGeneratedK
@Override
protected
boolean
isGenerateSQLToken
(
final
InsertStatement
insertStatement
)
{
Optional
<
InsertColumnsSegment
>
sqlSegment
=
insertStatement
.
findSQLSegment
(
InsertColumnsSegment
.
class
);
Optional
<
InsertColumnsSegment
>
sqlSegment
=
insertStatement
.
getInsertColumns
(
);
return
sqlSegment
.
isPresent
()
&&
!
sqlSegment
.
get
().
getColumns
().
isEmpty
();
}
@Override
protected
GeneratedKeyInsertColumnToken
generateSQLToken
(
final
SQLStatementContext
sqlStatementContext
,
final
GeneratedKey
generatedKey
)
{
Optional
<
InsertColumnsSegment
>
sqlSegment
=
sqlStatementContext
.
getSqlStatement
().
findSQLSegment
(
InsertColumnsSegment
.
class
);
Optional
<
InsertColumnsSegment
>
sqlSegment
=
((
InsertStatement
)
sqlStatementContext
.
getSqlStatement
()).
getInsertColumns
(
);
Preconditions
.
checkState
(
sqlSegment
.
isPresent
());
return
new
GeneratedKeyInsertColumnToken
(
sqlSegment
.
get
().
getStopIndex
(),
generatedKey
.
getColumnName
());
}
...
...
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/keygen/GeneratedKeyTest.java
浏览文件 @
70c5428a
...
...
@@ -58,7 +58,7 @@ public final class GeneratedKeyTest {
@Before
public
void
setUp
()
{
insertStatement
.
setTable
(
new
TableSegment
(
0
,
0
,
new
IdentifierValue
(
"tbl"
)));
insertStatement
.
setColumns
(
new
InsertColumnsSegment
(
0
,
0
,
Collections
.
singletonList
(
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"id"
)))));
insertStatement
.
set
Insert
Columns
(
new
InsertColumnsSegment
(
0
,
0
,
Collections
.
singletonList
(
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"id"
)))));
}
@Test
...
...
shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/filler/impl/dml/InsertColumnsFiller.java
浏览文件 @
70c5428a
...
...
@@ -29,6 +29,6 @@ public final class InsertColumnsFiller implements SQLSegmentFiller<InsertColumns
@Override
public
void
fill
(
final
InsertColumnsSegment
sqlSegment
,
final
SQLStatement
sqlStatement
)
{
((
InsertStatement
)
sqlStatement
).
setColumns
(
sqlSegment
);
((
InsertStatement
)
sqlStatement
).
set
Insert
Columns
(
sqlSegment
);
}
}
shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/InsertStatement.java
浏览文件 @
70c5428a
...
...
@@ -45,7 +45,7 @@ public final class InsertStatement extends DMLStatement implements TableSegmentA
private
TableSegment
table
;
private
InsertColumnsSegment
c
olumns
;
private
InsertColumnsSegment
insertC
olumns
;
private
SetAssignmentSegment
setAssignment
;
...
...
@@ -59,7 +59,7 @@ public final class InsertStatement extends DMLStatement implements TableSegmentA
* @return insert columns segment
*/
public
Optional
<
InsertColumnsSegment
>
getInsertColumns
()
{
return
Optional
.
fromNullable
(
c
olumns
);
return
Optional
.
fromNullable
(
insertC
olumns
);
}
/**
...
...
@@ -68,7 +68,7 @@ public final class InsertStatement extends DMLStatement implements TableSegmentA
* @return columns
*/
public
Collection
<
ColumnSegment
>
getColumns
()
{
return
null
==
columns
?
Collections
.<
ColumnSegment
>
emptyList
()
:
c
olumns
.
getColumns
();
return
null
==
insertColumns
?
Collections
.<
ColumnSegment
>
emptyList
()
:
insertC
olumns
.
getColumns
();
}
/**
...
...
shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/test/java/org/apache/shardingsphere/sql/parser/sql/statement/dml/InsertStatementTest.java
浏览文件 @
70c5428a
...
...
@@ -45,7 +45,7 @@ public final class InsertStatementTest {
public
void
assertNotUseDefaultColumnsWithColumns
()
{
InsertStatement
insertStatement
=
new
InsertStatement
();
InsertColumnsSegment
insertColumnsSegment
=
new
InsertColumnsSegment
(
0
,
0
,
Collections
.
singletonList
(
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"col"
))));
insertStatement
.
setColumns
(
insertColumnsSegment
);
insertStatement
.
set
Insert
Columns
(
insertColumnsSegment
);
assertFalse
(
insertStatement
.
useDefaultColumns
());
}
...
...
@@ -53,7 +53,7 @@ public final class InsertStatementTest {
public
void
assertNotUseDefaultColumnsWithSetAssignment
()
{
InsertStatement
insertStatement
=
new
InsertStatement
();
insertStatement
.
setSetAssignment
(
new
SetAssignmentSegment
(
0
,
0
,
Collections
.<
AssignmentSegment
>
emptyList
()));
insertStatement
.
setColumns
(
new
InsertColumnsSegment
(
0
,
0
,
Collections
.<
ColumnSegment
>
emptyList
()));
insertStatement
.
set
Insert
Columns
(
new
InsertColumnsSegment
(
0
,
0
,
Collections
.<
ColumnSegment
>
emptyList
()));
assertFalse
(
insertStatement
.
useDefaultColumns
());
}
...
...
@@ -61,7 +61,7 @@ public final class InsertStatementTest {
public
void
assertGetColumnNamesForInsertColumns
()
{
InsertStatement
insertStatement
=
new
InsertStatement
();
InsertColumnsSegment
insertColumnsSegment
=
new
InsertColumnsSegment
(
0
,
0
,
Collections
.
singletonList
(
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"col"
))));
insertStatement
.
setColumns
(
insertColumnsSegment
);
insertStatement
.
set
Insert
Columns
(
insertColumnsSegment
);
assertThat
(
insertStatement
.
getColumnNames
().
size
(),
is
(
1
));
assertThat
(
insertStatement
.
getColumnNames
().
iterator
().
next
(),
is
(
"col"
));
}
...
...
shardingsphere-sql-parser/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/MySQLDMLVisitor.java
浏览文件 @
70c5428a
...
...
@@ -132,7 +132,7 @@ public final class MySQLDMLVisitor extends MySQLVisitor {
InsertStatement
result
=
new
InsertStatement
();
if
(
null
!=
ctx
.
columnNames
())
{
InsertColumnsSegment
insertColumnsSegment
=
(
InsertColumnsSegment
)
visit
(
ctx
.
columnNames
());
result
.
setColumns
(
insertColumnsSegment
);
result
.
set
Insert
Columns
(
insertColumnsSegment
);
result
.
getAllSQLSegments
().
add
(
insertColumnsSegment
);
}
Collection
<
InsertValuesSegment
>
insertValuesSegments
=
createInsertValuesSegments
(
ctx
.
assignmentValues
());
...
...
shardingsphere-sql-parser/shardingsphere-sql-parser-oracle/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/OracleDMLVisitor.java
浏览文件 @
70c5428a
...
...
@@ -107,7 +107,7 @@ public final class OracleDMLVisitor extends OracleVisitor {
InsertStatement
result
=
new
InsertStatement
();
if
(
null
!=
ctx
.
columnNames
())
{
InsertColumnsSegment
insertColumnsSegment
=
(
InsertColumnsSegment
)
visit
(
ctx
.
columnNames
());
result
.
setColumns
(
insertColumnsSegment
);
result
.
set
Insert
Columns
(
insertColumnsSegment
);
result
.
getAllSQLSegments
().
add
(
insertColumnsSegment
);
}
Collection
<
InsertValuesSegment
>
insertValuesSegments
=
createInsertValuesSegments
(
ctx
.
assignmentValues
());
...
...
shardingsphere-sql-parser/shardingsphere-sql-parser-postgresql/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/PostgreSQLDMLVisitor.java
浏览文件 @
70c5428a
...
...
@@ -113,7 +113,7 @@ public final class PostgreSQLDMLVisitor extends PostgreSQLVisitor {
InsertStatement
result
=
new
InsertStatement
();
if
(
null
!=
ctx
.
columnNames
())
{
InsertColumnsSegment
insertColumnsSegment
=
(
InsertColumnsSegment
)
visit
(
ctx
.
columnNames
());
result
.
setColumns
(
insertColumnsSegment
);
result
.
set
Insert
Columns
(
insertColumnsSegment
);
result
.
getAllSQLSegments
().
add
(
insertColumnsSegment
);
}
Collection
<
InsertValuesSegment
>
insertValuesSegments
=
createInsertValuesSegments
(
ctx
.
assignmentValues
());
...
...
shardingsphere-sql-parser/shardingsphere-sql-parser-relation/src/test/java/org/apache/shardingsphere/sql/parser/relation/statement/impl/InsertSQLStatementContextTest.java
浏览文件 @
70c5428a
...
...
@@ -44,7 +44,7 @@ public final class InsertSQLStatementContextTest {
insertStatement
.
setTable
(
new
TableSegment
(
0
,
0
,
new
IdentifierValue
(
"tbl"
)));
InsertColumnsSegment
insertColumnsSegment
=
new
InsertColumnsSegment
(
0
,
0
,
Arrays
.
asList
(
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"id"
)),
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"name"
)),
new
ColumnSegment
(
0
,
0
,
new
IdentifierValue
(
"status"
))));
insertStatement
.
setColumns
(
insertColumnsSegment
);
insertStatement
.
set
Insert
Columns
(
insertColumnsSegment
);
setUpInsertValues
(
insertStatement
);
InsertSQLStatementContext
actual
=
new
InsertSQLStatementContext
(
mock
(
RelationMetas
.
class
),
Arrays
.<
Object
>
asList
(
1
,
"Tom"
,
2
,
"Jerry"
),
insertStatement
);
assertInsertSQLStatementContext
(
actual
);
...
...
shardingsphere-sql-parser/shardingsphere-sql-parser-sql92/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/SQL92DMLVisitor.java
浏览文件 @
70c5428a
...
...
@@ -101,7 +101,7 @@ public final class SQL92DMLVisitor extends SQL92Visitor {
InsertStatement
result
=
new
InsertStatement
();
if
(
null
!=
ctx
.
columnNames
())
{
InsertColumnsSegment
insertColumnsSegment
=
(
InsertColumnsSegment
)
visit
(
ctx
.
columnNames
());
result
.
setColumns
(
insertColumnsSegment
);
result
.
set
Insert
Columns
(
insertColumnsSegment
);
result
.
getAllSQLSegments
().
add
(
insertColumnsSegment
);
}
Collection
<
InsertValuesSegment
>
insertValuesSegments
=
createInsertValuesSegments
(
ctx
.
assignmentValues
());
...
...
shardingsphere-sql-parser/shardingsphere-sql-parser-sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/visitor/impl/SQLServerDMLVisitor.java
浏览文件 @
70c5428a
...
...
@@ -102,7 +102,7 @@ public final class SQLServerDMLVisitor extends SQLServerVisitor {
InsertStatement
result
=
new
InsertStatement
();
if
(
null
!=
ctx
.
columnNames
())
{
InsertColumnsSegment
insertColumnsSegment
=
(
InsertColumnsSegment
)
visit
(
ctx
.
columnNames
());
result
.
setColumns
(
insertColumnsSegment
);
result
.
set
Insert
Columns
(
insertColumnsSegment
);
result
.
getAllSQLSegments
().
add
(
insertColumnsSegment
);
}
Collection
<
InsertValuesSegment
>
insertValuesSegments
=
createInsertValuesSegments
(
ctx
.
assignmentValues
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录