Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
5eb03d3c
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,体验更适合开发者的 AI 搜索 >>
提交
5eb03d3c
编写于
8月 22, 2019
作者:
T
terrymanu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
for #2900, add ShardingGeneratedKeyColumnMetaData
上级
5a952eb6
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
65 addition
and
22 deletion
+65
-22
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/column/ColumnMetaData.java
...e/shardingsphere/core/metadata/column/ColumnMetaData.java
+3
-3
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/column/ShardingGeneratedKeyColumnMetaData.java
...e/metadata/column/ShardingGeneratedKeyColumnMetaData.java
+37
-0
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/TableMetaData.java
...che/shardingsphere/core/metadata/table/TableMetaData.java
+2
-1
sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/core/execute/metadata/TableMetaDataLoader.java
...dingsphere/core/execute/metadata/TableMetaDataLoader.java
+15
-10
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/core/merge/dal/show/ShowCreateTableMergedResultTest.java
.../core/merge/dal/show/ShowCreateTableMergedResultTest.java
+1
-1
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/core/merge/dal/show/ShowTablesMergedResultTest.java
...phere/core/merge/dal/show/ShowTablesMergedResultTest.java
+1
-1
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ddl/ShardingDropIndexOptimizeEngineTest.java
...rding/engnie/ddl/ShardingDropIndexOptimizeEngineTest.java
+1
-1
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingSelectOptimizeEngineTest.java
...sharding/engnie/dml/ShardingSelectOptimizeEngineTest.java
+1
-1
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/segment/select/item/SelectItemsTest.java
...ptimize/sharding/segment/select/item/SelectItemsTest.java
+1
-1
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/core/route/DatabaseTest.java
...va/org/apache/shardingsphere/core/route/DatabaseTest.java
+1
-1
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/core/route/type/standard/AbstractSQLRouteTest.java
...sphere/core/route/type/standard/AbstractSQLRouteTest.java
+1
-1
sharding-jdbc/sharding-jdbc-core/src/main/java/org/apache/shardingsphere/shardingjdbc/jdbc/core/context/EncryptRuntimeContext.java
...shardingjdbc/jdbc/core/context/EncryptRuntimeContext.java
+1
-1
未找到文件。
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/
table
/ColumnMetaData.java
→
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/
column
/ColumnMetaData.java
浏览文件 @
5eb03d3c
...
...
@@ -15,7 +15,7 @@
* limitations under the License.
*/
package
org.apache.shardingsphere.core.metadata.
table
;
package
org.apache.shardingsphere.core.metadata.
column
;
import
lombok.EqualsAndHashCode
;
import
lombok.Getter
;
...
...
@@ -31,9 +31,9 @@ import lombok.ToString;
@Getter
@EqualsAndHashCode
@ToString
public
final
class
ColumnMetaData
{
public
class
ColumnMetaData
{
private
final
String
columnN
ame
;
private
final
String
n
ame
;
private
final
String
dataType
;
...
...
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/column/ShardingGeneratedKeyColumnMetaData.java
0 → 100644
浏览文件 @
5eb03d3c
/*
* 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.
*/
package
org.apache.shardingsphere.core.metadata.column
;
import
lombok.EqualsAndHashCode
;
import
lombok.Getter
;
import
lombok.ToString
;
/**
* Column meta data for sharding generated key column.
*
* @author zhangliang
*/
@Getter
@EqualsAndHashCode
(
callSuper
=
true
)
@ToString
(
callSuper
=
true
)
public
final
class
ShardingGeneratedKeyColumnMetaData
extends
ColumnMetaData
{
public
ShardingGeneratedKeyColumnMetaData
(
final
String
name
,
final
String
dataType
,
final
boolean
primaryKey
)
{
super
(
name
,
dataType
,
primaryKey
);
}
}
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/TableMetaData.java
浏览文件 @
5eb03d3c
...
...
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.core.metadata.table;
import
lombok.EqualsAndHashCode
;
import
lombok.Getter
;
import
lombok.ToString
;
import
org.apache.shardingsphere.core.metadata.column.ColumnMetaData
;
import
java.util.Collection
;
import
java.util.Collections
;
...
...
@@ -49,7 +50,7 @@ public final class TableMetaData {
private
Map
<
String
,
ColumnMetaData
>
getColumns
(
final
Collection
<
ColumnMetaData
>
columnMetaDataList
)
{
Map
<
String
,
ColumnMetaData
>
columns
=
new
LinkedHashMap
<>(
columnMetaDataList
.
size
(),
1
);
for
(
ColumnMetaData
each
:
columnMetaDataList
)
{
columns
.
put
(
each
.
get
Column
Name
(),
each
);
columns
.
put
(
each
.
getName
(),
each
);
}
return
Collections
.
synchronizedMap
(
columns
);
}
...
...
sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/core/execute/metadata/TableMetaDataLoader.java
浏览文件 @
5eb03d3c
...
...
@@ -24,8 +24,9 @@ import org.apache.shardingsphere.core.exception.ShardingException;
import
org.apache.shardingsphere.core.execute.ShardingExecuteEngine
;
import
org.apache.shardingsphere.core.execute.ShardingExecuteGroup
;
import
org.apache.shardingsphere.core.execute.ShardingGroupExecuteCallback
;
import
org.apache.shardingsphere.core.metadata.column.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.column.ShardingGeneratedKeyColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.datasource.DataSourceMetas
;
import
org.apache.shardingsphere.core.metadata.table.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.rule.DataNode
;
import
org.apache.shardingsphere.core.rule.ShardingDataSourceNames
;
...
...
@@ -78,12 +79,13 @@ public final class TableMetaDataLoader {
* @throws SQLException SQL exception
*/
public
TableMetaData
load
(
final
String
logicTableName
,
final
ShardingRule
shardingRule
)
throws
SQLException
{
List
<
TableMetaData
>
actualTableMetaDataList
=
load
(
getDataNodeGroups
(
shardingRule
.
getTableRule
(
logicTableName
)),
shardingRule
.
getShardingDataSourceNames
());
List
<
TableMetaData
>
actualTableMetaDataList
=
load
(
getDataNodeGroups
(
shardingRule
.
getTableRule
(
logicTableName
)),
shardingRule
.
getShardingDataSourceNames
(),
shardingRule
.
findGenerateKeyColumnName
(
logicTableName
).
orNull
());
checkUniformed
(
logicTableName
,
actualTableMetaDataList
);
return
actualTableMetaDataList
.
iterator
().
next
();
}
private
List
<
TableMetaData
>
load
(
final
Map
<
String
,
List
<
DataNode
>>
dataNodeGroups
,
final
ShardingDataSourceNames
shardingDataSourceNames
)
throws
SQLException
{
private
List
<
TableMetaData
>
load
(
final
Map
<
String
,
List
<
DataNode
>>
dataNodeGroups
,
final
ShardingDataSourceNames
shardingDataSourceNames
,
final
String
generateKeyColumnName
)
throws
SQLException
{
return
executeEngine
.
groupExecute
(
getDataNodeExecuteGroups
(
dataNodeGroups
),
new
ShardingGroupExecuteCallback
<
DataNode
,
TableMetaData
>()
{
@Override
...
...
@@ -91,16 +93,16 @@ public final class TableMetaDataLoader {
String
dataSourceName
=
dataNodes
.
iterator
().
next
().
getDataSourceName
();
DataSourceMetaData
dataSourceMetaData
=
TableMetaDataLoader
.
this
.
dataSourceMetas
.
getDataSourceMetaData
(
dataSourceName
);
String
catalog
=
null
==
dataSourceMetaData
?
null
:
dataSourceMetaData
.
getSchemaName
();
return
load
(
shardingDataSourceNames
.
getRawMasterDataSourceName
(
dataSourceName
),
catalog
,
dataNodes
);
return
load
(
shardingDataSourceNames
.
getRawMasterDataSourceName
(
dataSourceName
),
catalog
,
dataNodes
,
generateKeyColumnName
);
}
});
}
private
Collection
<
TableMetaData
>
load
(
final
String
dataSourceName
,
final
String
catalog
,
final
Collection
<
DataNode
>
dataNodes
)
throws
SQLException
{
private
Collection
<
TableMetaData
>
load
(
final
String
dataSourceName
,
final
String
catalog
,
final
Collection
<
DataNode
>
dataNodes
,
final
String
generateKeyColumnName
)
throws
SQLException
{
Collection
<
TableMetaData
>
result
=
new
LinkedList
<>();
try
(
Connection
connection
=
connectionManager
.
getConnection
(
dataSourceName
))
{
for
(
DataNode
each
:
dataNodes
)
{
result
.
add
(
createTableMetaData
(
connection
,
catalog
,
each
.
getTableName
()));
result
.
add
(
createTableMetaData
(
connection
,
catalog
,
each
.
getTableName
()
,
generateKeyColumnName
));
}
}
return
result
;
...
...
@@ -131,9 +133,9 @@ public final class TableMetaDataLoader {
return
result
;
}
private
TableMetaData
createTableMetaData
(
final
Connection
connection
,
final
String
catalog
,
final
String
actualTableName
)
throws
SQLException
{
private
TableMetaData
createTableMetaData
(
final
Connection
connection
,
final
String
catalog
,
final
String
actualTableName
,
final
String
generateKeyColumnName
)
throws
SQLException
{
if
(
isTableExist
(
connection
,
catalog
,
actualTableName
))
{
return
new
TableMetaData
(
getColumnMetaDataList
(
connection
,
catalog
,
actualTableName
),
getLogicIndexes
(
connection
,
catalog
,
actualTableName
));
return
new
TableMetaData
(
getColumnMetaDataList
(
connection
,
catalog
,
actualTableName
,
generateKeyColumnName
),
getLogicIndexes
(
connection
,
catalog
,
actualTableName
));
}
return
new
TableMetaData
(
Collections
.<
ColumnMetaData
>
emptyList
(),
Collections
.<
String
>
emptySet
());
}
...
...
@@ -144,14 +146,17 @@ public final class TableMetaDataLoader {
}
}
private
List
<
ColumnMetaData
>
getColumnMetaDataList
(
final
Connection
connection
,
final
String
catalog
,
final
String
actualTableName
)
throws
SQLException
{
private
List
<
ColumnMetaData
>
getColumnMetaDataList
(
final
Connection
connection
,
final
String
catalog
,
final
String
actualTableName
,
final
String
generateKeyColumnName
)
throws
SQLException
{
List
<
ColumnMetaData
>
result
=
new
LinkedList
<>();
Collection
<
String
>
primaryKeys
=
getPrimaryKeys
(
connection
,
catalog
,
actualTableName
);
try
(
ResultSet
resultSet
=
connection
.
getMetaData
().
getColumns
(
catalog
,
null
,
actualTableName
,
"%"
))
{
while
(
resultSet
.
next
())
{
String
columnName
=
resultSet
.
getString
(
COLUMN_NAME
);
String
columnType
=
resultSet
.
getString
(
TYPE_NAME
);
result
.
add
(
new
ColumnMetaData
(
columnName
,
columnType
,
primaryKeys
.
contains
(
columnName
)));
ColumnMetaData
columnMetaData
=
columnName
.
equalsIgnoreCase
(
generateKeyColumnName
)
?
new
ShardingGeneratedKeyColumnMetaData
(
columnName
,
columnType
,
primaryKeys
.
contains
(
columnName
))
:
new
ColumnMetaData
(
columnName
,
columnType
,
primaryKeys
.
contains
(
columnName
));
result
.
add
(
columnMetaData
);
}
}
return
result
;
...
...
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/core/merge/dal/show/ShowCreateTableMergedResultTest.java
浏览文件 @
5eb03d3c
...
...
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.api.config.sharding.strategy.ComplexShardingStr
import
org.apache.shardingsphere.core.execute.sql.execute.result.QueryResult
;
import
org.apache.shardingsphere.core.merge.fixture.ComplexKeysShardingAlgorithmFixture
;
import
org.apache.shardingsphere.core.merge.fixture.TestQueryResult
;
import
org.apache.shardingsphere.core.metadata.
table
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.
column
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetas
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
...
...
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/core/merge/dal/show/ShowTablesMergedResultTest.java
浏览文件 @
5eb03d3c
...
...
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.api.config.sharding.strategy.ComplexShardingStr
import
org.apache.shardingsphere.core.execute.sql.execute.result.QueryResult
;
import
org.apache.shardingsphere.core.merge.fixture.ComplexKeysShardingAlgorithmFixture
;
import
org.apache.shardingsphere.core.merge.fixture.TestQueryResult
;
import
org.apache.shardingsphere.core.metadata.
table
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.
column
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetas
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
...
...
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ddl/ShardingDropIndexOptimizeEngineTest.java
浏览文件 @
5eb03d3c
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.engnie.ddl
;
import
org.apache.shardingsphere.core.metadata.
table
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.
column
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetas
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.ddl.ShardingDropIndexOptimizedStatement
;
...
...
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingSelectOptimizeEngineTest.java
浏览文件 @
5eb03d3c
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.core.optimize.sharding.engnie.dml;
import
com.google.common.base.Optional
;
import
com.google.common.collect.Range
;
import
org.apache.shardingsphere.core.metadata.
table
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.
column
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetas
;
import
org.apache.shardingsphere.core.optimize.sharding.segment.condition.ShardingCondition
;
...
...
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/segment/select/item/SelectItemsTest.java
浏览文件 @
5eb03d3c
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.segment.select.item
;
import
org.apache.shardingsphere.core.metadata.
table
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.
column
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetas
;
import
org.apache.shardingsphere.core.parse.core.constant.AggregationType
;
...
...
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/core/route/DatabaseTest.java
浏览文件 @
5eb03d3c
...
...
@@ -25,7 +25,7 @@ import org.apache.shardingsphere.api.config.sharding.strategy.InlineShardingStra
import
org.apache.shardingsphere.api.hint.HintManager
;
import
org.apache.shardingsphere.core.database.DatabaseTypes
;
import
org.apache.shardingsphere.core.metadata.ShardingSphereMetaData
;
import
org.apache.shardingsphere.core.metadata.
table
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.
column
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetas
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.dml.ShardingSelectOptimizedStatement
;
...
...
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/core/route/type/standard/AbstractSQLRouteTest.java
浏览文件 @
5eb03d3c
...
...
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.api.config.sharding.strategy.HintShardingStrate
import
org.apache.shardingsphere.api.config.sharding.strategy.InlineShardingStrategyConfiguration
;
import
org.apache.shardingsphere.core.database.DatabaseTypes
;
import
org.apache.shardingsphere.core.metadata.ShardingSphereMetaData
;
import
org.apache.shardingsphere.core.metadata.column.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.datasource.DataSourceMetas
;
import
org.apache.shardingsphere.core.metadata.table.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetas
;
import
org.apache.shardingsphere.core.parse.SQLParseEngine
;
...
...
sharding-jdbc/sharding-jdbc-core/src/main/java/org/apache/shardingsphere/shardingjdbc/jdbc/core/context/EncryptRuntimeContext.java
浏览文件 @
5eb03d3c
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.context;
import
com.google.common.base.Optional
;
import
lombok.Getter
;
import
org.apache.shardingsphere.core.metadata.
table
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.
column
.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetas
;
import
org.apache.shardingsphere.core.rule.EncryptRule
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录