Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
fe0888df
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 搜索 >>
提交
fe0888df
编写于
8月 21, 2019
作者:
T
terrymanu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
for #2900, Rename ShardingTableMetaData to ShardingSphereShardingTableMetaData
上级
f8fde1a1
变更
51
隐藏空白更改
内联
并排
Showing
51 changed file
with
239 addition
and
239 deletion
+239
-239
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/ShardingSphereMetaData.java
.../shardingsphere/core/metadata/ShardingSphereMetaData.java
+2
-2
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/ShardingSphereTableMetaData.java
...here/core/metadata/table/ShardingSphereTableMetaData.java
+4
-5
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/impl/ColumnMetaData.java
...ardingsphere/core/metadata/table/impl/ColumnMetaData.java
+1
-1
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/impl/TableMetaData.java
...hardingsphere/core/metadata/table/impl/TableMetaData.java
+1
-1
sharding-core/sharding-core-entry/src/test/java/org/apache/shardingsphere/core/fixture/RoutingHookFixture.java
...pache/shardingsphere/core/fixture/RoutingHookFixture.java
+3
-3
sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/core/execute/metadata/TableMetaDataInitializer.java
...phere/core/execute/metadata/TableMetaDataInitializer.java
+1
-1
sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/core/execute/metadata/TableMetaDataLoader.java
...dingsphere/core/execute/metadata/TableMetaDataLoader.java
+2
-2
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/MergeEngineFactory.java
.../apache/shardingsphere/core/merge/MergeEngineFactory.java
+4
-4
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/DALMergeEngine.java
.../apache/shardingsphere/core/merge/dal/DALMergeEngine.java
+6
-6
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/LogicTablesMergedResult.java
...ngsphere/core/merge/dal/show/LogicTablesMergedResult.java
+5
-5
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/ShowCreateTableMergedResult.java
...here/core/merge/dal/show/ShowCreateTableMergedResult.java
+3
-3
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/ShowIndexMergedResult.java
...dingsphere/core/merge/dal/show/ShowIndexMergedResult.java
+3
-3
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/ShowTableStatusMergedResult.java
...here/core/merge/dal/show/ShowTableStatusMergedResult.java
+3
-3
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/ShowTablesMergedResult.java
...ingsphere/core/merge/dal/show/ShowTablesMergedResult.java
+3
-3
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/core/merge/dal/show/ShowCreateTableMergedResultTest.java
.../core/merge/dal/show/ShowCreateTableMergedResultTest.java
+8
-8
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/core/merge/dal/show/ShowTablesMergedResultTest.java
...phere/core/merge/dal/show/ShowTablesMergedResultTest.java
+9
-9
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/api/engine/OptimizeEngine.java
...ardingsphere/core/optimize/api/engine/OptimizeEngine.java
+3
-3
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/api/segment/Tables.java
...ache/shardingsphere/core/optimize/api/segment/Tables.java
+6
-6
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/EncryptOptimizeEngine.java
...e/core/optimize/encrypt/engine/EncryptOptimizeEngine.java
+2
-2
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/EncryptTransparentOptimizeEngine.java
...mize/encrypt/engine/EncryptTransparentOptimizeEngine.java
+2
-2
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/dml/EncryptInsertOptimizeEngine.java
...imize/encrypt/engine/dml/EncryptInsertOptimizeEngine.java
+7
-7
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/dml/EncryptWhereOptimizeEngine.java
...timize/encrypt/engine/dml/EncryptWhereOptimizeEngine.java
+4
-4
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/segment/EncryptInsertColumns.java
...e/core/optimize/encrypt/segment/EncryptInsertColumns.java
+5
-5
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/segment/condition/engine/WhereClauseEncryptConditionEngine.java
...t/condition/engine/WhereClauseEncryptConditionEngine.java
+3
-3
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ShardingOptimizeEngine.java
...core/optimize/sharding/engnie/ShardingOptimizeEngine.java
+2
-2
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ShardingTransparentOptimizeEngine.java
...ze/sharding/engnie/ShardingTransparentOptimizeEngine.java
+2
-2
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ddl/ShardingDropIndexOptimizeEngine.java
.../sharding/engnie/ddl/ShardingDropIndexOptimizeEngine.java
+8
-8
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingDeleteOptimizeEngine.java
...ize/sharding/engnie/dml/ShardingDeleteOptimizeEngine.java
+5
-5
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingInsertOptimizeEngine.java
...ize/sharding/engnie/dml/ShardingInsertOptimizeEngine.java
+3
-3
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingSelectOptimizeEngine.java
...ize/sharding/engnie/dml/ShardingSelectOptimizeEngine.java
+5
-5
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingUpdateOptimizeEngine.java
...ize/sharding/engnie/dml/ShardingUpdateOptimizeEngine.java
+5
-5
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/segment/condition/engine/WhereClauseShardingConditionEngine.java
.../condition/engine/WhereClauseShardingConditionEngine.java
+3
-3
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/segment/insert/ShardingInsertColumns.java
...timize/sharding/segment/insert/ShardingInsertColumns.java
+6
-6
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/segment/select/item/SelectItems.java
...re/optimize/sharding/segment/select/item/SelectItems.java
+5
-5
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/segment/select/item/engine/SelectItemsEngine.java
...harding/segment/select/item/engine/SelectItemsEngine.java
+4
-4
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/encrypt/engine/EncryptInsertOptimizeEngineTest.java
...imize/encrypt/engine/EncryptInsertOptimizeEngineTest.java
+5
-5
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ddl/ShardingDropIndexOptimizeEngineTest.java
...rding/engnie/ddl/ShardingDropIndexOptimizeEngineTest.java
+5
-5
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingInsertOptimizeEngineTest.java
...sharding/engnie/dml/ShardingInsertOptimizeEngineTest.java
+10
-10
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingSelectOptimizeEngineTest.java
...sharding/engnie/dml/ShardingSelectOptimizeEngineTest.java
+12
-12
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
+23
-23
sharding-core/sharding-core-rewrite/src/test/java/org/apache/shardingsphere/core/rewrite/rewriter/EncryptSQLRewriteEngineTest.java
...re/core/rewrite/rewriter/EncryptSQLRewriteEngineTest.java
+3
-2
sharding-core/sharding-core-route/src/main/java/org/apache/shardingsphere/core/route/hook/RoutingHook.java
...rg/apache/shardingsphere/core/route/hook/RoutingHook.java
+3
-3
sharding-core/sharding-core-route/src/main/java/org/apache/shardingsphere/core/route/hook/SPIRoutingHook.java
...apache/shardingsphere/core/route/hook/SPIRoutingHook.java
+3
-3
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/core/route/DatabaseTest.java
...va/org/apache/shardingsphere/core/route/DatabaseTest.java
+10
-10
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/core/route/type/standard/AbstractSQLRouteTest.java
...sphere/core/route/type/standard/AbstractSQLRouteTest.java
+6
-6
sharding-jdbc/sharding-jdbc-core/src/main/java/org/apache/shardingsphere/shardingjdbc/jdbc/core/context/EncryptRuntimeContext.java
...shardingjdbc/jdbc/core/context/EncryptRuntimeContext.java
+6
-6
sharding-jdbc/sharding-jdbc-core/src/main/java/org/apache/shardingsphere/shardingjdbc/jdbc/core/context/ShardingRuntimeContext.java
...hardingjdbc/jdbc/core/context/ShardingRuntimeContext.java
+3
-3
sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/schema/impl/EncryptSchema.java
...here/shardingproxy/backend/schema/impl/EncryptSchema.java
+3
-3
sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/schema/impl/MasterSlaveSchema.java
.../shardingproxy/backend/schema/impl/MasterSlaveSchema.java
+3
-3
sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/schema/impl/ShardingSchema.java
...ere/shardingproxy/backend/schema/impl/ShardingSchema.java
+3
-3
sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/schema/impl/TransparentSchema.java
.../shardingproxy/backend/schema/impl/TransparentSchema.java
+3
-3
未找到文件。
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/ShardingSphereMetaData.java
浏览文件 @
fe0888df
...
...
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.core.metadata;
import
lombok.Getter
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.shardingsphere.core.metadata.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
/**
* ShardingSphere meta data.
...
...
@@ -33,5 +33,5 @@ public final class ShardingSphereMetaData {
private
final
ShardingSphereDataSourceMetaData
dataSource
;
private
final
ShardingTableMetaData
table
;
private
final
Sharding
Sphere
TableMetaData
table
;
}
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/ShardingTableMetaData.java
→
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/Sharding
Sphere
TableMetaData.java
浏览文件 @
fe0888df
...
...
@@ -18,7 +18,7 @@
package
org.apache.shardingsphere.core.metadata.table
;
import
com.google.common.base.Optional
;
import
lombok.Getter
;
import
org.apache.shardingsphere.core.metadata.table.impl.TableMetaData
;
import
java.util.Collection
;
import
java.util.Collections
;
...
...
@@ -27,19 +27,18 @@ import java.util.Map.Entry;
import
java.util.concurrent.ConcurrentHashMap
;
/**
* Sharding table meta data.
* Sharding
Sphere
table meta data.
*
* @author panjuan
* @author zhaojun
* @author zhangliang
* @author panjuan
*/
@Getter
public
final
class
ShardingTableMetaData
{
public
final
class
ShardingSphereTableMetaData
{
private
final
Map
<
String
,
TableMetaData
>
tables
;
public
ShardingTableMetaData
(
final
Map
<
String
,
TableMetaData
>
tables
)
{
public
Sharding
Sphere
TableMetaData
(
final
Map
<
String
,
TableMetaData
>
tables
)
{
this
.
tables
=
new
ConcurrentHashMap
<>(
tables
);
}
...
...
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/table/
impl/
ColumnMetaData.java
浏览文件 @
fe0888df
...
...
@@ -15,7 +15,7 @@
* limitations under the License.
*/
package
org.apache.shardingsphere.core.metadata.table
;
package
org.apache.shardingsphere.core.metadata.table
.impl
;
import
lombok.EqualsAndHashCode
;
import
lombok.Getter
;
...
...
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/TableMetaData.java
→
sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/metadata/table/
impl/
TableMetaData.java
浏览文件 @
fe0888df
...
...
@@ -15,7 +15,7 @@
* limitations under the License.
*/
package
org.apache.shardingsphere.core.metadata.table
;
package
org.apache.shardingsphere.core.metadata.table
.impl
;
import
lombok.EqualsAndHashCode
;
import
lombok.Getter
;
...
...
sharding-core/sharding-core-entry/src/test/java/org/apache/shardingsphere/core/fixture/RoutingHookFixture.java
浏览文件 @
fe0888df
...
...
@@ -17,9 +17,9 @@
package
org.apache.shardingsphere.core.fixture
;
import
org.apache.shardingsphere.core.route.hook.RoutingHook
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.ShardingSphereTableMetaData
;
import
org.apache.shardingsphere.core.route.SQLRouteResult
;
import
org.apache.shardingsphere.core.route.hook.RoutingHook
;
/**
* Routing hook fixture.
...
...
@@ -33,7 +33,7 @@ public class RoutingHookFixture implements RoutingHook {
}
@Override
public
void
finishSuccess
(
final
SQLRouteResult
sqlRouteResult
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
{
public
void
finishSuccess
(
final
SQLRouteResult
sqlRouteResult
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
{
}
@Override
...
...
sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/core/execute/metadata/TableMetaDataInitializer.java
浏览文件 @
fe0888df
...
...
@@ -21,7 +21,7 @@ import com.google.common.base.Optional;
import
lombok.SneakyThrows
;
import
org.apache.shardingsphere.core.execute.ShardingExecuteEngine
;
import
org.apache.shardingsphere.core.metadata.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
org.apache.shardingsphere.core.rule.TableRule
;
import
org.apache.shardingsphere.spi.database.DataSourceMetaData
;
...
...
sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/core/execute/metadata/TableMetaDataLoader.java
浏览文件 @
fe0888df
...
...
@@ -25,8 +25,8 @@ 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.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
ColumnMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.rule.DataNode
;
import
org.apache.shardingsphere.core.rule.ShardingDataSourceNames
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
...
...
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/MergeEngineFactory.java
浏览文件 @
fe0888df
...
...
@@ -22,7 +22,7 @@ import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.core.execute.sql.execute.result.QueryResult
;
import
org.apache.shardingsphere.core.merge.dal.DALMergeEngine
;
import
org.apache.shardingsphere.core.merge.dql.DQLMergeEngine
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.dml.ShardingSelectOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.statement.dal.DALStatement
;
import
org.apache.shardingsphere.core.route.SQLRouteResult
;
...
...
@@ -47,18 +47,18 @@ public final class MergeEngineFactory {
* @param databaseType database type
* @param shardingRule sharding rule
* @param routeResult SQL route result
* @param
shardingT
ableMetaData sharding table meta Data
* @param
t
ableMetaData sharding table meta Data
* @param queryResults query results
* @return merge engine instance
* @throws SQLException SQL exception
*/
public
static
MergeEngine
newInstance
(
final
DatabaseType
databaseType
,
final
ShardingRule
shardingRule
,
final
SQLRouteResult
routeResult
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
List
<
QueryResult
>
queryResults
)
throws
SQLException
{
final
SQLRouteResult
routeResult
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
List
<
QueryResult
>
queryResults
)
throws
SQLException
{
if
(
routeResult
.
getShardingStatement
()
instanceof
ShardingSelectOptimizedStatement
)
{
return
new
DQLMergeEngine
(
databaseType
,
routeResult
,
queryResults
);
}
if
(
routeResult
.
getShardingStatement
().
getSQLStatement
()
instanceof
DALStatement
)
{
return
new
DALMergeEngine
(
shardingRule
,
queryResults
,
(
DALStatement
)
routeResult
.
getShardingStatement
().
getSQLStatement
(),
shardingT
ableMetaData
);
return
new
DALMergeEngine
(
shardingRule
,
queryResults
,
(
DALStatement
)
routeResult
.
getShardingStatement
().
getSQLStatement
(),
t
ableMetaData
);
}
return
new
TransparentMergeEngine
(
queryResults
);
}
...
...
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/DALMergeEngine.java
浏览文件 @
fe0888df
...
...
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.core.merge.dal.show.ShowIndexMergedResult;
import
org.apache.shardingsphere.core.merge.dal.show.ShowOtherMergedResult
;
import
org.apache.shardingsphere.core.merge.dal.show.ShowTableStatusMergedResult
;
import
org.apache.shardingsphere.core.merge.dal.show.ShowTablesMergedResult
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.parse.sql.statement.dal.DALStatement
;
import
org.apache.shardingsphere.core.parse.sql.statement.dal.dialect.mysql.ShowCreateTableStatement
;
import
org.apache.shardingsphere.core.parse.sql.statement.dal.dialect.mysql.ShowDatabasesStatement
;
...
...
@@ -54,7 +54,7 @@ public final class DALMergeEngine implements MergeEngine {
private
final
DALStatement
dalStatement
;
private
final
Sharding
TableMetaData
shardingT
ableMetaData
;
private
final
Sharding
SphereTableMetaData
t
ableMetaData
;
@Override
public
MergedResult
merge
()
throws
SQLException
{
...
...
@@ -62,16 +62,16 @@ public final class DALMergeEngine implements MergeEngine {
return
new
ShowDatabasesMergedResult
();
}
if
(
dalStatement
instanceof
ShowTableStatusStatement
)
{
return
new
ShowTableStatusMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
return
new
ShowTableStatusMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
}
if
(
dalStatement
instanceof
ShowTablesStatement
)
{
return
new
ShowTablesMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
return
new
ShowTablesMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
}
if
(
dalStatement
instanceof
ShowCreateTableStatement
)
{
return
new
ShowCreateTableMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
return
new
ShowCreateTableMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
}
if
(
dalStatement
instanceof
ShowIndexStatement
)
{
return
new
ShowIndexMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
return
new
ShowIndexMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
}
return
new
ShowOtherMergedResult
(
queryResults
.
get
(
0
));
}
...
...
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/LogicTablesMergedResult.java
浏览文件 @
fe0888df
...
...
@@ -21,7 +21,7 @@ import com.google.common.base.Optional;
import
org.apache.shardingsphere.core.execute.sql.execute.result.QueryResult
;
import
org.apache.shardingsphere.core.merge.dql.common.MemoryMergedResult
;
import
org.apache.shardingsphere.core.merge.dql.common.MemoryQueryResultRow
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
org.apache.shardingsphere.core.rule.TableRule
;
...
...
@@ -46,13 +46,13 @@ public abstract class LogicTablesMergedResult extends MemoryMergedResult {
private
final
Set
<
String
>
tableNames
=
new
HashSet
<>();
private
final
Sharding
TableMetaData
shardingT
ableMetaData
;
private
final
Sharding
SphereTableMetaData
t
ableMetaData
;
public
LogicTablesMergedResult
(
final
Map
<
String
,
Integer
>
labelAndIndexMap
,
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
throws
SQLException
{
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
throws
SQLException
{
super
(
labelAndIndexMap
);
this
.
shardingRule
=
shardingRule
;
this
.
shardingTableMetaData
=
shardingT
ableMetaData
;
this
.
tableMetaData
=
t
ableMetaData
;
memoryResultSetRows
=
init
(
queryResults
);
}
...
...
@@ -64,7 +64,7 @@ public abstract class LogicTablesMergedResult extends MemoryMergedResult {
String
actualTableName
=
memoryResultSetRow
.
getCell
(
1
).
toString
();
Optional
<
TableRule
>
tableRule
=
shardingRule
.
findTableRuleByActualTable
(
actualTableName
);
if
(!
tableRule
.
isPresent
())
{
if
(
shardingRule
.
getTableRules
().
isEmpty
()
||
shardingT
ableMetaData
.
containsTable
(
actualTableName
)
&&
tableNames
.
add
(
actualTableName
))
{
if
(
shardingRule
.
getTableRules
().
isEmpty
()
||
t
ableMetaData
.
containsTable
(
actualTableName
)
&&
tableNames
.
add
(
actualTableName
))
{
result
.
add
(
memoryResultSetRow
);
}
}
else
if
(
tableNames
.
add
(
tableRule
.
get
().
getLogicTable
()))
{
...
...
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/ShowCreateTableMergedResult.java
浏览文件 @
fe0888df
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.core.merge.dal.show;
import
org.apache.shardingsphere.core.execute.sql.execute.result.QueryResult
;
import
org.apache.shardingsphere.core.merge.dql.common.MemoryQueryResultRow
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
java.sql.SQLException
;
...
...
@@ -41,8 +41,8 @@ public final class ShowCreateTableMergedResult extends LogicTablesMergedResult {
LABEL_AND_INDEX_MAP
.
put
(
"Create Table"
,
2
);
}
public
ShowCreateTableMergedResult
(
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
throws
SQLException
{
super
(
LABEL_AND_INDEX_MAP
,
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
public
ShowCreateTableMergedResult
(
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
throws
SQLException
{
super
(
LABEL_AND_INDEX_MAP
,
shardingRule
,
queryResults
,
t
ableMetaData
);
}
@Override
...
...
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/ShowIndexMergedResult.java
浏览文件 @
fe0888df
...
...
@@ -18,7 +18,7 @@
package
org.apache.shardingsphere.core.merge.dal.show
;
import
org.apache.shardingsphere.core.execute.sql.execute.result.QueryResult
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
java.sql.SQLException
;
...
...
@@ -51,7 +51,7 @@ public final class ShowIndexMergedResult extends LogicTablesMergedResult {
LABEL_AND_INDEX_MAP
.
put
(
"Index_comment"
,
13
);
}
public
ShowIndexMergedResult
(
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
throws
SQLException
{
super
(
LABEL_AND_INDEX_MAP
,
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
public
ShowIndexMergedResult
(
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
throws
SQLException
{
super
(
LABEL_AND_INDEX_MAP
,
shardingRule
,
queryResults
,
t
ableMetaData
);
}
}
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/ShowTableStatusMergedResult.java
浏览文件 @
fe0888df
...
...
@@ -18,7 +18,7 @@
package
org.apache.shardingsphere.core.merge.dal.show
;
import
org.apache.shardingsphere.core.execute.sql.execute.result.QueryResult
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
java.sql.SQLException
;
...
...
@@ -55,7 +55,7 @@ public final class ShowTableStatusMergedResult extends LogicTablesMergedResult {
LABEL_AND_INDEX_MAP
.
put
(
"Comment"
,
17
);
}
public
ShowTableStatusMergedResult
(
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
throws
SQLException
{
super
(
LABEL_AND_INDEX_MAP
,
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
public
ShowTableStatusMergedResult
(
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
throws
SQLException
{
super
(
LABEL_AND_INDEX_MAP
,
shardingRule
,
queryResults
,
t
ableMetaData
);
}
}
sharding-core/sharding-core-merge/src/main/java/org/apache/shardingsphere/core/merge/dal/show/ShowTablesMergedResult.java
浏览文件 @
fe0888df
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.core.merge.dal.show;
import
org.apache.shardingsphere.core.constant.ShardingConstant
;
import
org.apache.shardingsphere.core.execute.sql.execute.result.QueryResult
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
java.sql.SQLException
;
...
...
@@ -41,8 +41,8 @@ public final class ShowTablesMergedResult extends LogicTablesMergedResult {
LABEL_AND_INDEX_MAP
.
put
(
"Tables_in_"
+
ShardingConstant
.
LOGIC_SCHEMA_NAME
,
1
);
}
public
ShowTablesMergedResult
(
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
throws
SQLException
{
super
(
LABEL_AND_INDEX_MAP
,
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
public
ShowTablesMergedResult
(
final
ShardingRule
shardingRule
,
final
List
<
QueryResult
>
queryResults
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
throws
SQLException
{
super
(
LABEL_AND_INDEX_MAP
,
shardingRule
,
queryResults
,
t
ableMetaData
);
}
/**
...
...
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/core/merge/dal/show/ShowCreateTableMergedResultTest.java
浏览文件 @
fe0888df
...
...
@@ -24,9 +24,9 @@ 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.
Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingSphereTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
org.junit.Before
;
import
org.junit.Test
;
...
...
@@ -53,7 +53,7 @@ public final class ShowCreateTableMergedResultTest {
private
ResultSet
resultSet
;
private
Sharding
TableMetaData
shardingT
ableMetaData
;
private
Sharding
SphereTableMetaData
t
ableMetaData
;
@Before
public
void
setUp
()
throws
SQLException
{
...
...
@@ -64,7 +64,7 @@ public final class ShowCreateTableMergedResultTest {
shardingRule
=
new
ShardingRule
(
shardingRuleConfig
,
Lists
.
newArrayList
(
"ds"
));
Map
<
String
,
TableMetaData
>
tableMetaDataMap
=
new
HashMap
<>(
1
,
1
);
tableMetaDataMap
.
put
(
"table"
,
new
TableMetaData
(
Collections
.<
ColumnMetaData
>
emptyList
(),
Collections
.<
String
>
emptySet
()));
shardingTableMetaData
=
new
Sharding
TableMetaData
(
tableMetaDataMap
);
tableMetaData
=
new
ShardingSphere
TableMetaData
(
tableMetaDataMap
);
resultSet
=
mock
(
ResultSet
.
class
);
ResultSetMetaData
resultSetMetaData
=
mock
(
ResultSetMetaData
.
class
);
when
(
resultSet
.
getMetaData
()).
thenReturn
(
resultSetMetaData
);
...
...
@@ -81,7 +81,7 @@ public final class ShowCreateTableMergedResultTest {
@Test
public
void
assertNextForEmptyQueryResult
()
throws
SQLException
{
ShowCreateTableMergedResult
showCreateTableMergedResult
=
new
ShowCreateTableMergedResult
(
shardingRule
,
new
ArrayList
<
QueryResult
>(),
shardingT
ableMetaData
);
ShowCreateTableMergedResult
showCreateTableMergedResult
=
new
ShowCreateTableMergedResult
(
shardingRule
,
new
ArrayList
<
QueryResult
>(),
t
ableMetaData
);
assertFalse
(
showCreateTableMergedResult
.
next
());
}
...
...
@@ -96,7 +96,7 @@ public final class ShowCreateTableMergedResultTest {
+
" `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n"
+
" PRIMARY KEY (`id`)\n"
+
") ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=utf8 COLLATE=utf8_bin"
);
ShowCreateTableMergedResult
showCreateTableMergedResult
=
new
ShowCreateTableMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
ShowCreateTableMergedResult
showCreateTableMergedResult
=
new
ShowCreateTableMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
assertTrue
(
showCreateTableMergedResult
.
next
());
}
...
...
@@ -111,7 +111,7 @@ public final class ShowCreateTableMergedResultTest {
+
" `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n"
+
" PRIMARY KEY (`id`)\n"
+
") ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=utf8 COLLATE=utf8_bin"
);
ShowCreateTableMergedResult
showCreateTableMergedResult
=
new
ShowCreateTableMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
ShowCreateTableMergedResult
showCreateTableMergedResult
=
new
ShowCreateTableMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
assertTrue
(
showCreateTableMergedResult
.
next
());
}
}
sharding-core/sharding-core-merge/src/test/java/org/apache/shardingsphere/core/merge/dal/show/ShowTablesMergedResultTest.java
浏览文件 @
fe0888df
...
...
@@ -24,9 +24,9 @@ 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.
Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingSphereTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
org.junit.Before
;
import
org.junit.Test
;
...
...
@@ -53,7 +53,7 @@ public final class ShowTablesMergedResultTest {
private
ResultSet
resultSet
;
private
Sharding
TableMetaData
shardingT
ableMetaData
;
private
Sharding
SphereTableMetaData
t
ableMetaData
;
@Before
public
void
setUp
()
throws
SQLException
{
...
...
@@ -64,7 +64,7 @@ public final class ShowTablesMergedResultTest {
shardingRule
=
new
ShardingRule
(
shardingRuleConfig
,
Lists
.
newArrayList
(
"ds"
));
Map
<
String
,
TableMetaData
>
tableMetaDataMap
=
new
HashMap
<>(
1
,
1
);
tableMetaDataMap
.
put
(
"table"
,
new
TableMetaData
(
Collections
.<
ColumnMetaData
>
emptyList
(),
Collections
.<
String
>
emptySet
()));
shardingTableMetaData
=
new
Sharding
TableMetaData
(
tableMetaDataMap
);
tableMetaData
=
new
ShardingSphere
TableMetaData
(
tableMetaDataMap
);
resultSet
=
mock
(
ResultSet
.
class
);
ResultSetMetaData
resultSetMetaData
=
mock
(
ResultSetMetaData
.
class
);
when
(
resultSet
.
getMetaData
()).
thenReturn
(
resultSetMetaData
);
...
...
@@ -81,28 +81,28 @@ public final class ShowTablesMergedResultTest {
@Test
public
void
assertNextForEmptyQueryResult
()
throws
SQLException
{
ShowTablesMergedResult
showTablesMergedResult
=
new
ShowTablesMergedResult
(
shardingRule
,
new
ArrayList
<
QueryResult
>(),
shardingT
ableMetaData
);
ShowTablesMergedResult
showTablesMergedResult
=
new
ShowTablesMergedResult
(
shardingRule
,
new
ArrayList
<
QueryResult
>(),
t
ableMetaData
);
assertFalse
(
showTablesMergedResult
.
next
());
}
@Test
public
void
assertNextForActualTableNameInTableRule
()
throws
SQLException
{
when
(
resultSet
.
getObject
(
1
)).
thenReturn
(
"table_0"
);
ShowTablesMergedResult
showTablesMergedResult
=
new
ShowTablesMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
ShowTablesMergedResult
showTablesMergedResult
=
new
ShowTablesMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
assertTrue
(
showTablesMergedResult
.
next
());
}
@Test
public
void
assertNextForActualTableNameNotInTableRuleWithDefaultDataSource
()
throws
SQLException
{
when
(
resultSet
.
getObject
(
1
)).
thenReturn
(
"table"
);
ShowTablesMergedResult
showTablesMergedResult
=
new
ShowTablesMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
ShowTablesMergedResult
showTablesMergedResult
=
new
ShowTablesMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
assertTrue
(
showTablesMergedResult
.
next
());
}
@Test
public
void
assertNextForActualTableNameNotInTableRuleWithoutDefaultDataSource
()
throws
SQLException
{
when
(
resultSet
.
getObject
(
1
)).
thenReturn
(
"table_3"
);
ShowTablesMergedResult
showTablesMergedResult
=
new
ShowTablesMergedResult
(
shardingRule
,
queryResults
,
shardingT
ableMetaData
);
ShowTablesMergedResult
showTablesMergedResult
=
new
ShowTablesMergedResult
(
shardingRule
,
queryResults
,
t
ableMetaData
);
assertFalse
(
showTablesMergedResult
.
next
());
}
}
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/api/engine/OptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.api.engine
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.statement.OptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.statement.SQLStatement
;
import
org.apache.shardingsphere.core.rule.BaseRule
;
...
...
@@ -39,11 +39,11 @@ public interface OptimizeEngine<R extends BaseRule, T extends SQLStatement> {
* Optimize.
*
* @param rule rule
* @param
shardingTableMetaData table meta data
* @param
tableMetaData table meta data of ShardingSphere
* @param sql SQL
* @param parameters SQL parameters
* @param sqlStatement SQL statement
* @return optimized statement
*/
OptimizedStatement
optimize
(
R
rule
,
Sharding
TableMetaData
shardingT
ableMetaData
,
String
sql
,
List
<
Object
>
parameters
,
T
sqlStatement
);
OptimizedStatement
optimize
(
R
rule
,
Sharding
SphereTableMetaData
t
ableMetaData
,
String
sql
,
List
<
Object
>
parameters
,
T
sqlStatement
);
}
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/api/segment/Tables.java
浏览文件 @
fe0888df
...
...
@@ -21,7 +21,7 @@ import com.google.common.base.Optional;
import
com.google.common.base.Preconditions
;
import
lombok.ToString
;
import
org.apache.shardingsphere.core.exception.ShardingException
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.parse.sql.segment.dml.column.ColumnSegment
;
import
org.apache.shardingsphere.core.parse.sql.segment.generic.AliasAvailable
;
import
org.apache.shardingsphere.core.parse.sql.segment.generic.TableAvailable
;
...
...
@@ -142,10 +142,10 @@ public final class Tables {
* Find table name.
*
* @param columnSegment column segment
* @param
shardingTableMetaData sharding table meta data
* @param
tableMetaData table meta data of ShardingSphere
* @return table name
*/
public
Optional
<
String
>
findTableName
(
final
ColumnSegment
columnSegment
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
{
public
Optional
<
String
>
findTableName
(
final
ColumnSegment
columnSegment
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
{
if
(
isSingleTable
())
{
return
Optional
.
of
(
getSingleTableName
());
}
...
...
@@ -153,12 +153,12 @@ public final class Tables {
Optional
<
Table
>
table
=
find
(
columnSegment
.
getOwner
().
get
().
getTableName
());
return
table
.
isPresent
()
?
Optional
.
of
(
table
.
get
().
getName
())
:
Optional
.<
String
>
absent
();
}
return
findTableNameFromMetaData
(
columnSegment
.
getName
(),
shardingT
ableMetaData
);
return
findTableNameFromMetaData
(
columnSegment
.
getName
(),
t
ableMetaData
);
}
private
Optional
<
String
>
findTableNameFromMetaData
(
final
String
columnName
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
{
private
Optional
<
String
>
findTableNameFromMetaData
(
final
String
columnName
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
{
for
(
String
each
:
getTableNames
())
{
if
(
shardingT
ableMetaData
.
containsColumn
(
each
,
columnName
))
{
if
(
t
ableMetaData
.
containsColumn
(
each
,
columnName
))
{
return
Optional
.
of
(
each
);
}
}
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/EncryptOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.encrypt.engine
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.engine.OptimizeEngine
;
import
org.apache.shardingsphere.core.optimize.encrypt.statement.EncryptOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.statement.SQLStatement
;
...
...
@@ -35,5 +35,5 @@ import java.util.List;
public
interface
EncryptOptimizeEngine
<
T
extends
SQLStatement
>
extends
OptimizeEngine
<
EncryptRule
,
T
>
{
@Override
EncryptOptimizedStatement
optimize
(
EncryptRule
encryptRule
,
Sharding
TableMetaData
shardingT
ableMetaData
,
String
sql
,
List
<
Object
>
parameters
,
T
sqlStatement
);
EncryptOptimizedStatement
optimize
(
EncryptRule
encryptRule
,
Sharding
SphereTableMetaData
t
ableMetaData
,
String
sql
,
List
<
Object
>
parameters
,
T
sqlStatement
);
}
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/EncryptTransparentOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.encrypt.engine
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.encrypt.statement.EncryptTransparentOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.statement.SQLStatement
;
import
org.apache.shardingsphere.core.rule.EncryptRule
;
...
...
@@ -33,7 +33,7 @@ public final class EncryptTransparentOptimizeEngine implements EncryptOptimizeEn
@Override
public
EncryptTransparentOptimizedStatement
optimize
(
final
EncryptRule
rule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
SQLStatement
sqlStatement
)
{
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
SQLStatement
sqlStatement
)
{
return
new
EncryptTransparentOptimizedStatement
(
sqlStatement
);
}
}
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/dml/EncryptInsertOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.encrypt.engine.dml
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.segment.InsertValue
;
import
org.apache.shardingsphere.core.optimize.encrypt.engine.EncryptOptimizeEngine
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.EncryptInsertColumns
;
...
...
@@ -39,14 +39,14 @@ import java.util.List;
public
final
class
EncryptInsertOptimizeEngine
implements
EncryptOptimizeEngine
<
InsertStatement
>
{
@Override
public
EncryptInsertOptimizedStatement
optimize
(
final
EncryptRule
encryptRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
InsertStatement
sqlStatement
)
{
public
EncryptInsertOptimizedStatement
optimize
(
final
EncryptRule
encryptRule
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
InsertStatement
sqlStatement
)
{
InsertValueEngine
insertValueEngine
=
new
InsertValueEngine
();
EncryptInsertOptimizedStatement
result
=
new
EncryptInsertOptimizedStatement
(
sqlStatement
,
new
EncryptInsertColumns
(
encryptRule
,
shardingT
ableMetaData
,
sqlStatement
),
insertValueEngine
.
createInsertValues
(
sqlStatement
));
sqlStatement
,
new
EncryptInsertColumns
(
encryptRule
,
t
ableMetaData
,
sqlStatement
),
insertValueEngine
.
createInsertValues
(
sqlStatement
));
int
derivedColumnsCount
=
encryptRule
.
getAssistedQueryAndPlainColumnCount
(
sqlStatement
.
getTable
().
getTableName
());
int
parametersCount
=
0
;
Collection
<
String
>
columnNames
=
getColumnNames
(
shardingT
ableMetaData
,
sqlStatement
);
Collection
<
String
>
columnNames
=
getColumnNames
(
t
ableMetaData
,
sqlStatement
);
for
(
InsertValue
each
:
result
.
getValues
())
{
Object
[]
currentParameters
=
each
.
getParameters
(
parameters
,
parametersCount
,
derivedColumnsCount
);
Collection
<
String
>
encryptDerivedColumnNames
=
encryptRule
.
getAssistedQueryAndPlainColumns
(
sqlStatement
.
getTable
().
getTableName
());
...
...
@@ -85,7 +85,7 @@ public final class EncryptInsertOptimizeEngine implements EncryptOptimizeEngine<
}
}
private
Collection
<
String
>
getColumnNames
(
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
InsertStatement
sqlStatement
)
{
return
sqlStatement
.
useDefaultColumns
()
?
shardingT
ableMetaData
.
getAllColumnNames
(
sqlStatement
.
getTable
().
getTableName
())
:
sqlStatement
.
getColumnNames
();
private
Collection
<
String
>
getColumnNames
(
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
InsertStatement
sqlStatement
)
{
return
sqlStatement
.
useDefaultColumns
()
?
t
ableMetaData
.
getAllColumnNames
(
sqlStatement
.
getTable
().
getTableName
())
:
sqlStatement
.
getColumnNames
();
}
}
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/engine/dml/EncryptWhereOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.encrypt.engine.dml
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.encrypt.engine.EncryptOptimizeEngine
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.EncryptConditions
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.engine.WhereClauseEncryptConditionEngine
;
...
...
@@ -35,9 +35,9 @@ import java.util.List;
public
final
class
EncryptWhereOptimizeEngine
implements
EncryptOptimizeEngine
<
DMLStatement
>
{
@Override
public
EncryptConditionOptimizedStatement
optimize
(
final
EncryptRule
encryptRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
DMLStatement
sqlStatement
)
{
WhereClauseEncryptConditionEngine
encryptConditionEngine
=
new
WhereClauseEncryptConditionEngine
(
encryptRule
,
shardingT
ableMetaData
);
public
EncryptConditionOptimizedStatement
optimize
(
final
EncryptRule
encryptRule
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
DMLStatement
sqlStatement
)
{
WhereClauseEncryptConditionEngine
encryptConditionEngine
=
new
WhereClauseEncryptConditionEngine
(
encryptRule
,
t
ableMetaData
);
return
new
EncryptConditionOptimizedStatement
(
sqlStatement
,
new
EncryptConditions
(
encryptConditionEngine
.
createEncryptConditions
(
sqlStatement
)));
}
}
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/segment/EncryptInsertColumns.java
浏览文件 @
fe0888df
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.core.optimize.encrypt.segment;
import
lombok.Getter
;
import
lombok.ToString
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.segment.InsertColumns
;
import
org.apache.shardingsphere.core.parse.sql.statement.dml.InsertStatement
;
import
org.apache.shardingsphere.core.rule.EncryptRule
;
...
...
@@ -41,13 +41,13 @@ public final class EncryptInsertColumns implements InsertColumns {
@Getter
private
final
Collection
<
String
>
regularColumnNames
;
public
EncryptInsertColumns
(
final
EncryptRule
encryptRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
InsertStatement
insertStatement
)
{
public
EncryptInsertColumns
(
final
EncryptRule
encryptRule
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
InsertStatement
insertStatement
)
{
assistedQueryAndPlainColumnNames
=
encryptRule
.
getAssistedQueryAndPlainColumns
(
insertStatement
.
getTable
().
getTableName
());
regularColumnNames
=
insertStatement
.
useDefaultColumns
()
?
getRegularColumnNamesFromMetaData
(
encryptRule
,
shardingT
ableMetaData
,
insertStatement
)
:
insertStatement
.
getColumnNames
();
regularColumnNames
=
insertStatement
.
useDefaultColumns
()
?
getRegularColumnNamesFromMetaData
(
encryptRule
,
t
ableMetaData
,
insertStatement
)
:
insertStatement
.
getColumnNames
();
}
private
Collection
<
String
>
getRegularColumnNamesFromMetaData
(
final
EncryptRule
encryptRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
InsertStatement
insertStatement
)
{
Collection
<
String
>
allColumnNames
=
shardingT
ableMetaData
.
getAllColumnNames
(
insertStatement
.
getTable
().
getTableName
());
private
Collection
<
String
>
getRegularColumnNamesFromMetaData
(
final
EncryptRule
encryptRule
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
InsertStatement
insertStatement
)
{
Collection
<
String
>
allColumnNames
=
t
ableMetaData
.
getAllColumnNames
(
insertStatement
.
getTable
().
getTableName
());
Collection
<
String
>
result
=
new
LinkedHashSet
<>(
allColumnNames
.
size
()
-
assistedQueryAndPlainColumnNames
.
size
());
String
tableName
=
insertStatement
.
getTable
().
getTableName
();
for
(
String
each
:
allColumnNames
)
{
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/encrypt/segment/condition/engine/WhereClauseEncryptConditionEngine.java
浏览文件 @
fe0888df
...
...
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.core.optimize.encrypt.segment.condition.engine
import
com.google.common.base.Optional
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.shardingsphere.core.exception.ShardingException
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.segment.Tables
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.EncryptCondition
;
import
org.apache.shardingsphere.core.parse.sql.segment.dml.expr.ExpressionSegment
;
...
...
@@ -52,7 +52,7 @@ public final class WhereClauseEncryptConditionEngine {
private
final
EncryptRule
encryptRule
;
private
final
Sharding
TableMetaData
shardingT
ableMetaData
;
private
final
Sharding
SphereTableMetaData
t
ableMetaData
;
/**
* Create encrypt conditions.
...
...
@@ -96,7 +96,7 @@ public final class WhereClauseEncryptConditionEngine {
}
private
Optional
<
EncryptCondition
>
createEncryptCondition
(
final
PredicateSegment
predicateSegment
,
final
Tables
tables
)
{
Optional
<
String
>
tableName
=
tables
.
findTableName
(
predicateSegment
.
getColumn
(),
shardingT
ableMetaData
);
Optional
<
String
>
tableName
=
tables
.
findTableName
(
predicateSegment
.
getColumn
(),
t
ableMetaData
);
if
(!
tableName
.
isPresent
()
||
!
encryptRule
.
getShardingEncryptor
(
tableName
.
get
(),
predicateSegment
.
getColumn
().
getName
()).
isPresent
())
{
return
Optional
.
absent
();
}
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ShardingOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.engnie
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.engine.OptimizeEngine
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.ShardingOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.statement.SQLStatement
;
...
...
@@ -35,5 +35,5 @@ import java.util.List;
public
interface
ShardingOptimizeEngine
<
T
extends
SQLStatement
>
extends
OptimizeEngine
<
ShardingRule
,
T
>
{
@Override
ShardingOptimizedStatement
optimize
(
ShardingRule
shardingRule
,
Sharding
TableMetaData
shardingT
ableMetaData
,
String
sql
,
List
<
Object
>
parameters
,
T
sqlStatement
);
ShardingOptimizedStatement
optimize
(
ShardingRule
shardingRule
,
Sharding
SphereTableMetaData
t
ableMetaData
,
String
sql
,
List
<
Object
>
parameters
,
T
sqlStatement
);
}
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ShardingTransparentOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.engnie
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.ShardingTransparentOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.statement.SQLStatement
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
...
...
@@ -33,7 +33,7 @@ public final class ShardingTransparentOptimizeEngine implements ShardingOptimize
@Override
public
ShardingTransparentOptimizedStatement
optimize
(
final
ShardingRule
rule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
SQLStatement
sqlStatement
)
{
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
SQLStatement
sqlStatement
)
{
return
new
ShardingTransparentOptimizedStatement
(
sqlStatement
);
}
}
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ddl/ShardingDropIndexOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.core.optimize.sharding.engnie.ddl;
import
com.google.common.base.Optional
;
import
com.google.common.base.Preconditions
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.segment.Tables
;
import
org.apache.shardingsphere.core.optimize.sharding.engnie.ShardingOptimizeEngine
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.ddl.ShardingDropIndexOptimizedStatement
;
...
...
@@ -40,20 +40,20 @@ import java.util.List;
public
final
class
ShardingDropIndexOptimizeEngine
implements
ShardingOptimizeEngine
<
DropIndexStatement
>
{
@Override
public
ShardingDropIndexOptimizedStatement
optimize
(
final
ShardingRule
shardingRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
DropIndexStatement
sqlStatement
)
{
public
ShardingDropIndexOptimizedStatement
optimize
(
final
ShardingRule
shardingRule
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
DropIndexStatement
sqlStatement
)
{
Tables
tables
=
new
Tables
(
sqlStatement
);
return
new
ShardingDropIndexOptimizedStatement
(
sqlStatement
,
tables
,
getTableNames
(
shardingT
ableMetaData
,
sqlStatement
,
tables
));
return
new
ShardingDropIndexOptimizedStatement
(
sqlStatement
,
tables
,
getTableNames
(
t
ableMetaData
,
sqlStatement
,
tables
));
}
private
Collection
<
String
>
getTableNames
(
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
DropIndexStatement
sqlStatement
,
final
Tables
tables
)
{
return
tables
.
isEmpty
()
?
getTableNames
(
shardingT
ableMetaData
,
sqlStatement
)
:
Collections
.
singletonList
(
tables
.
getSingleTableName
());
private
Collection
<
String
>
getTableNames
(
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
DropIndexStatement
sqlStatement
,
final
Tables
tables
)
{
return
tables
.
isEmpty
()
?
getTableNames
(
t
ableMetaData
,
sqlStatement
)
:
Collections
.
singletonList
(
tables
.
getSingleTableName
());
}
private
Collection
<
String
>
getTableNames
(
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
DropIndexStatement
sqlStatement
)
{
private
Collection
<
String
>
getTableNames
(
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
DropIndexStatement
sqlStatement
)
{
Collection
<
String
>
result
=
new
LinkedList
<>();
for
(
IndexSegment
each
:
sqlStatement
.
getIndexes
())
{
Optional
<
String
>
tableName
=
shardingT
ableMetaData
.
getLogicTableName
(
each
.
getName
());
Optional
<
String
>
tableName
=
t
ableMetaData
.
getLogicTableName
(
each
.
getName
());
Preconditions
.
checkState
(
tableName
.
isPresent
(),
"Cannot find table for index name `%s` from sharding rule."
,
each
.
getName
());
result
.
add
(
tableName
.
get
());
}
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingDeleteOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.engnie.dml
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.EncryptConditions
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.engine.WhereClauseEncryptConditionEngine
;
import
org.apache.shardingsphere.core.optimize.sharding.engnie.ShardingOptimizeEngine
;
...
...
@@ -37,10 +37,10 @@ import java.util.List;
public
final
class
ShardingDeleteOptimizeEngine
implements
ShardingOptimizeEngine
<
DeleteStatement
>
{
@Override
public
ShardingConditionOptimizedStatement
optimize
(
final
ShardingRule
shardingRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
DeleteStatement
sqlStatement
)
{
WhereClauseShardingConditionEngine
shardingConditionEngine
=
new
WhereClauseShardingConditionEngine
(
shardingRule
,
shardingT
ableMetaData
);
WhereClauseEncryptConditionEngine
encryptConditionEngine
=
new
WhereClauseEncryptConditionEngine
(
shardingRule
.
getEncryptRule
(),
shardingT
ableMetaData
);
public
ShardingConditionOptimizedStatement
optimize
(
final
ShardingRule
shardingRule
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
DeleteStatement
sqlStatement
)
{
WhereClauseShardingConditionEngine
shardingConditionEngine
=
new
WhereClauseShardingConditionEngine
(
shardingRule
,
t
ableMetaData
);
WhereClauseEncryptConditionEngine
encryptConditionEngine
=
new
WhereClauseEncryptConditionEngine
(
shardingRule
.
getEncryptRule
(),
t
ableMetaData
);
return
new
ShardingConditionOptimizedStatement
(
sqlStatement
,
new
ShardingConditions
(
shardingConditionEngine
.
createShardingConditions
(
sqlStatement
,
parameters
)),
new
EncryptConditions
(
encryptConditionEngine
.
createEncryptConditions
(
sqlStatement
)));
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingInsertOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.core.optimize.sharding.engnie.dml;
import
com.google.common.base.Optional
;
import
org.apache.shardingsphere.core.exception.ShardingException
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.segment.InsertValue
;
import
org.apache.shardingsphere.core.optimize.sharding.engnie.ShardingOptimizeEngine
;
import
org.apache.shardingsphere.core.optimize.sharding.segment.condition.ShardingCondition
;
...
...
@@ -51,10 +51,10 @@ public final class ShardingInsertOptimizeEngine implements ShardingOptimizeEngin
@Override
public
ShardingInsertOptimizedStatement
optimize
(
final
ShardingRule
shardingRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
InsertStatement
sqlStatement
)
{
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
InsertStatement
sqlStatement
)
{
InsertClauseShardingConditionEngine
shardingConditionEngine
=
new
InsertClauseShardingConditionEngine
(
shardingRule
);
Collection
<
String
>
derivedColumnNames
=
shardingRule
.
getEncryptRule
().
getAssistedQueryColumns
(
sqlStatement
.
getTable
().
getTableName
());
ShardingInsertColumns
insertColumns
=
new
ShardingInsertColumns
(
shardingRule
,
shardingT
ableMetaData
,
sqlStatement
,
derivedColumnNames
);
ShardingInsertColumns
insertColumns
=
new
ShardingInsertColumns
(
shardingRule
,
t
ableMetaData
,
sqlStatement
,
derivedColumnNames
);
InsertValueEngine
insertValueEngine
=
new
InsertValueEngine
();
Collection
<
InsertValue
>
insertValues
=
insertValueEngine
.
createInsertValues
(
sqlStatement
);
Optional
<
GeneratedKey
>
generatedKey
=
GeneratedKey
.
getGenerateKey
(
shardingRule
,
parameters
,
sqlStatement
,
insertColumns
,
insertValues
);
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingSelectOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.engnie.dml
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.EncryptCondition
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.engine.WhereClauseEncryptConditionEngine
;
import
org.apache.shardingsphere.core.optimize.sharding.engnie.ShardingOptimizeEngine
;
...
...
@@ -48,12 +48,12 @@ public final class ShardingSelectOptimizeEngine implements ShardingOptimizeEngin
@Override
public
ShardingSelectOptimizedStatement
optimize
(
final
ShardingRule
shardingRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
SelectStatement
sqlStatement
)
{
WhereClauseShardingConditionEngine
shardingConditionEngine
=
new
WhereClauseShardingConditionEngine
(
shardingRule
,
shardingT
ableMetaData
);
WhereClauseEncryptConditionEngine
encryptConditionEngine
=
new
WhereClauseEncryptConditionEngine
(
shardingRule
.
getEncryptRule
(),
shardingT
ableMetaData
);
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
SelectStatement
sqlStatement
)
{
WhereClauseShardingConditionEngine
shardingConditionEngine
=
new
WhereClauseShardingConditionEngine
(
shardingRule
,
t
ableMetaData
);
WhereClauseEncryptConditionEngine
encryptConditionEngine
=
new
WhereClauseEncryptConditionEngine
(
shardingRule
.
getEncryptRule
(),
t
ableMetaData
);
GroupByEngine
groupByEngine
=
new
GroupByEngine
();
OrderByEngine
orderByEngine
=
new
OrderByEngine
();
SelectItemsEngine
selectItemsEngine
=
new
SelectItemsEngine
(
shardingT
ableMetaData
);
SelectItemsEngine
selectItemsEngine
=
new
SelectItemsEngine
(
t
ableMetaData
);
PaginationEngine
paginationEngine
=
new
PaginationEngine
();
List
<
ShardingCondition
>
shardingConditions
=
shardingConditionEngine
.
createShardingConditions
(
sqlStatement
,
parameters
);
List
<
EncryptCondition
>
encryptConditions
=
encryptConditionEngine
.
createEncryptConditions
(
sqlStatement
);
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingUpdateOptimizeEngine.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.engnie.dml
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.EncryptConditions
;
import
org.apache.shardingsphere.core.optimize.encrypt.segment.condition.engine.WhereClauseEncryptConditionEngine
;
import
org.apache.shardingsphere.core.optimize.sharding.engnie.ShardingOptimizeEngine
;
...
...
@@ -37,10 +37,10 @@ import java.util.List;
public
final
class
ShardingUpdateOptimizeEngine
implements
ShardingOptimizeEngine
<
UpdateStatement
>
{
@Override
public
ShardingConditionOptimizedStatement
optimize
(
final
ShardingRule
shardingRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
UpdateStatement
sqlStatement
)
{
WhereClauseShardingConditionEngine
shardingConditionEngine
=
new
WhereClauseShardingConditionEngine
(
shardingRule
,
shardingT
ableMetaData
);
WhereClauseEncryptConditionEngine
encryptConditionEngine
=
new
WhereClauseEncryptConditionEngine
(
shardingRule
.
getEncryptRule
(),
shardingT
ableMetaData
);
public
ShardingConditionOptimizedStatement
optimize
(
final
ShardingRule
shardingRule
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
String
sql
,
final
List
<
Object
>
parameters
,
final
UpdateStatement
sqlStatement
)
{
WhereClauseShardingConditionEngine
shardingConditionEngine
=
new
WhereClauseShardingConditionEngine
(
shardingRule
,
t
ableMetaData
);
WhereClauseEncryptConditionEngine
encryptConditionEngine
=
new
WhereClauseEncryptConditionEngine
(
shardingRule
.
getEncryptRule
(),
t
ableMetaData
);
return
new
ShardingConditionOptimizedStatement
(
sqlStatement
,
new
ShardingConditions
(
shardingConditionEngine
.
createShardingConditions
(
sqlStatement
,
parameters
)),
new
EncryptConditions
(
encryptConditionEngine
.
createEncryptConditions
(
sqlStatement
)));
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/segment/condition/engine/WhereClauseShardingConditionEngine.java
浏览文件 @
fe0888df
...
...
@@ -21,7 +21,7 @@ import com.google.common.base.Optional;
import
com.google.common.collect.Range
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.shardingsphere.core.exception.ShardingException
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.segment.Column
;
import
org.apache.shardingsphere.core.optimize.api.segment.Tables
;
import
org.apache.shardingsphere.core.optimize.sharding.segment.condition.AlwaysFalseRouteValue
;
...
...
@@ -58,7 +58,7 @@ public final class WhereClauseShardingConditionEngine {
private
final
ShardingRule
shardingRule
;
private
final
Sharding
TableMetaData
shardingT
ableMetaData
;
private
final
Sharding
SphereTableMetaData
t
ableMetaData
;
/**
* Create sharding conditions.
...
...
@@ -102,7 +102,7 @@ public final class WhereClauseShardingConditionEngine {
private
Map
<
Column
,
Collection
<
RouteValue
>>
createRouteValueMap
(
final
Tables
tables
,
final
AndPredicate
andPredicate
,
final
List
<
Object
>
parameters
)
{
Map
<
Column
,
Collection
<
RouteValue
>>
result
=
new
HashMap
<>();
for
(
PredicateSegment
each
:
andPredicate
.
getPredicates
())
{
Optional
<
String
>
tableName
=
tables
.
findTableName
(
each
.
getColumn
(),
shardingT
ableMetaData
);
Optional
<
String
>
tableName
=
tables
.
findTableName
(
each
.
getColumn
(),
t
ableMetaData
);
if
(!
tableName
.
isPresent
()
||
!
shardingRule
.
isShardingColumn
(
each
.
getColumn
().
getName
(),
tableName
.
get
()))
{
continue
;
}
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/segment/insert/ShardingInsertColumns.java
浏览文件 @
fe0888df
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.core.optimize.sharding.segment.insert;
import
lombok.Getter
;
import
lombok.ToString
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.segment.InsertColumns
;
import
org.apache.shardingsphere.core.parse.sql.statement.dml.InsertStatement
;
import
org.apache.shardingsphere.core.rule.EncryptRule
;
...
...
@@ -43,15 +43,15 @@ public final class ShardingInsertColumns implements InsertColumns {
private
final
Collection
<
String
>
regularColumnNames
;
public
ShardingInsertColumns
(
final
ShardingRule
shardingRule
,
final
Sharding
TableMetaData
shardingT
ableMetaData
,
final
InsertStatement
insertStatement
,
final
Collection
<
String
>
derivedColumnNames
)
{
final
ShardingRule
shardingRule
,
final
Sharding
SphereTableMetaData
t
ableMetaData
,
final
InsertStatement
insertStatement
,
final
Collection
<
String
>
derivedColumnNames
)
{
generateKeyColumnName
=
shardingRule
.
findGenerateKeyColumnName
(
insertStatement
.
getTable
().
getTableName
()).
orNull
();
regularColumnNames
=
insertStatement
.
useDefaultColumns
()
?
getRegularColumnNamesFromMetaData
(
shardingRule
.
getEncryptRule
(),
shardingT
ableMetaData
,
insertStatement
,
derivedColumnNames
)
:
getRegularColumnNamesFromSQLStatement
(
insertStatement
);
?
getRegularColumnNamesFromMetaData
(
shardingRule
.
getEncryptRule
(),
t
ableMetaData
,
insertStatement
,
derivedColumnNames
)
:
getRegularColumnNamesFromSQLStatement
(
insertStatement
);
}
private
Collection
<
String
>
getRegularColumnNamesFromMetaData
(
final
EncryptRule
encryptRule
,
final
ShardingTableMetaData
shardingT
ableMetaData
,
final
InsertStatement
insertStatement
,
final
Collection
<
String
>
derivedColumnNames
)
{
Collection
<
String
>
allColumnNames
=
shardingT
ableMetaData
.
getAllColumnNames
(
insertStatement
.
getTable
().
getTableName
());
private
Collection
<
String
>
getRegularColumnNamesFromMetaData
(
final
EncryptRule
encryptRule
,
final
ShardingSphereTableMetaData
t
ableMetaData
,
final
InsertStatement
insertStatement
,
final
Collection
<
String
>
derivedColumnNames
)
{
Collection
<
String
>
allColumnNames
=
t
ableMetaData
.
getAllColumnNames
(
insertStatement
.
getTable
().
getTableName
());
Collection
<
String
>
result
=
new
LinkedHashSet
<>(
allColumnNames
.
size
()
-
derivedColumnNames
.
size
());
String
tableName
=
insertStatement
.
getTable
().
getTableName
();
for
(
String
each
:
allColumnNames
)
{
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/segment/select/item/SelectItems.java
浏览文件 @
fe0888df
...
...
@@ -22,7 +22,7 @@ import lombok.Getter;
import
lombok.RequiredArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.parse.sql.segment.generic.TableSegment
;
import
java.util.ArrayList
;
...
...
@@ -40,7 +40,7 @@ import java.util.List;
@RequiredArgsConstructor
@Getter
@Setter
@ToString
(
exclude
=
"
shardingT
ableMetaData"
)
@ToString
(
exclude
=
"
t
ableMetaData"
)
public
final
class
SelectItems
{
private
final
int
startIndex
;
...
...
@@ -53,7 +53,7 @@ public final class SelectItems {
private
final
Collection
<
TableSegment
>
tables
;
private
final
Sharding
TableMetaData
shardingT
ableMetaData
;
private
final
Sharding
SphereTableMetaData
t
ableMetaData
;
/**
* Judge is unqualified shorthand item or not.
...
...
@@ -139,7 +139,7 @@ public final class SelectItems {
private
Collection
<
String
>
getQualifiedShorthandColumnLabels
(
final
String
owner
)
{
for
(
TableSegment
each
:
tables
)
{
if
(
owner
.
equalsIgnoreCase
(
each
.
getAlias
().
or
(
each
.
getTableName
())))
{
return
shardingT
ableMetaData
.
get
(
each
.
getTableName
()).
getColumns
().
keySet
();
return
t
ableMetaData
.
get
(
each
.
getTableName
()).
getColumns
().
keySet
();
}
}
return
Collections
.
emptyList
();
...
...
@@ -148,7 +148,7 @@ public final class SelectItems {
private
Collection
<
String
>
getUnqualifiedShorthandColumnLabels
()
{
Collection
<
String
>
result
=
new
LinkedList
<>();
for
(
TableSegment
each
:
tables
)
{
result
.
addAll
(
shardingT
ableMetaData
.
get
(
each
.
getTableName
()).
getColumns
().
keySet
());
result
.
addAll
(
t
ableMetaData
.
get
(
each
.
getTableName
()).
getColumns
().
keySet
());
}
return
result
;
}
...
...
sharding-core/sharding-core-optimize/src/main/java/org/apache/shardingsphere/core/optimize/sharding/segment/select/item/engine/SelectItemsEngine.java
浏览文件 @
fe0888df
...
...
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.core.optimize.sharding.segment.select.item.eng
import
com.google.common.base.Optional
;
import
com.google.common.base.Preconditions
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.segment.Table
;
import
org.apache.shardingsphere.core.optimize.api.segment.Tables
;
import
org.apache.shardingsphere.core.optimize.sharding.segment.select.groupby.GroupBy
;
...
...
@@ -51,7 +51,7 @@ import java.util.LinkedList;
@RequiredArgsConstructor
public
final
class
SelectItemsEngine
{
private
final
Sharding
TableMetaData
shardingT
ableMetaData
;
private
final
Sharding
SphereTableMetaData
t
ableMetaData
;
private
final
SelectItemEngine
selectItemEngine
=
new
SelectItemEngine
();
...
...
@@ -68,7 +68,7 @@ public final class SelectItemsEngine {
SelectItemsSegment
selectItemsSegment
=
selectStatement
.
getSelectItems
();
Collection
<
SelectItem
>
items
=
getSelectItemList
(
sql
,
selectItemsSegment
);
SelectItems
result
=
new
SelectItems
(
selectItemsSegment
.
getStartIndex
(),
selectItemsSegment
.
getStopIndex
(),
selectItemsSegment
.
isDistinctRow
(),
items
,
selectStatement
.
getTables
(),
shardingT
ableMetaData
);
selectItemsSegment
.
getStartIndex
(),
selectItemsSegment
.
getStopIndex
(),
selectItemsSegment
.
isDistinctRow
(),
items
,
selectStatement
.
getTables
(),
t
ableMetaData
);
Tables
tables
=
new
Tables
(
selectStatement
);
result
.
getItems
().
addAll
(
getDerivedGroupByColumns
(
tables
,
items
,
groupBy
));
result
.
getItems
().
addAll
(
getDerivedOrderByColumns
(
tables
,
items
,
orderBy
));
...
...
@@ -172,7 +172,7 @@ public final class SelectItemsEngine {
private
boolean
isSameSelectItem
(
final
Tables
tables
,
final
ShorthandSelectItem
shorthandSelectItem
,
final
ColumnOrderByItemSegment
orderItem
)
{
Preconditions
.
checkState
(
shorthandSelectItem
.
getOwner
().
isPresent
());
Optional
<
Table
>
table
=
tables
.
find
(
shorthandSelectItem
.
getOwner
().
get
());
return
table
.
isPresent
()
&&
shardingT
ableMetaData
.
containsColumn
(
table
.
get
().
getName
(),
orderItem
.
getColumn
().
getName
());
return
table
.
isPresent
()
&&
t
ableMetaData
.
containsColumn
(
table
.
get
().
getName
(),
orderItem
.
getColumn
().
getName
());
}
private
boolean
containsItemInSelectItems
(
final
Collection
<
SelectItem
>
items
,
final
OrderByItemSegment
orderItem
)
{
...
...
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/encrypt/engine/EncryptInsertOptimizeEngineTest.java
浏览文件 @
fe0888df
...
...
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.api.config.encrypt.EncryptColumnRuleConfigurati
import
org.apache.shardingsphere.api.config.encrypt.EncryptRuleConfiguration
;
import
org.apache.shardingsphere.api.config.encrypt.EncryptTableRuleConfiguration
;
import
org.apache.shardingsphere.api.config.encrypt.EncryptorRuleConfiguration
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.encrypt.engine.dml.EncryptInsertOptimizeEngine
;
import
org.apache.shardingsphere.core.optimize.encrypt.statement.EncryptInsertOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.segment.dml.assignment.AssignmentSegment
;
...
...
@@ -94,7 +94,7 @@ public final class EncryptInsertOptimizeEngineTest {
public
void
assertInsertStatementWithValuesWithPlaceHolderWithEncrypt
()
{
InsertStatement
insertStatement
=
createInsertStatementWithValuesWithPlaceHolderWithEncrypt
();
EncryptInsertOptimizeEngine
optimizeEngine
=
new
EncryptInsertOptimizeEngine
();
EncryptInsertOptimizedStatement
actual
=
optimizeEngine
.
optimize
(
encryptRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
parametersWithValues
,
insertStatement
);
EncryptInsertOptimizedStatement
actual
=
optimizeEngine
.
optimize
(
encryptRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
parametersWithValues
,
insertStatement
);
assertThat
(
actual
.
getUnits
().
size
(),
is
(
1
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
2
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
0
],
is
((
Object
)
1
));
...
...
@@ -114,7 +114,7 @@ public final class EncryptInsertOptimizeEngineTest {
public
void
assertInsertStatementWithValuesWithoutPlaceHolderWithQueryEncrypt
()
{
InsertStatement
insertStatement
=
createInsertStatementWithValuesWithoutPlaceHolderWithQueryEncrypt
();
EncryptInsertOptimizeEngine
optimizeEngine
=
new
EncryptInsertOptimizeEngine
();
EncryptInsertOptimizedStatement
actual
=
optimizeEngine
.
optimize
(
encryptRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
parametersWithoutValues
,
insertStatement
);
EncryptInsertOptimizedStatement
actual
=
optimizeEngine
.
optimize
(
encryptRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
parametersWithoutValues
,
insertStatement
);
assertThat
(
actual
.
getUnits
().
size
(),
is
(
1
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
0
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getColumnValue
(
"col1"
),
is
((
Object
)
1
));
...
...
@@ -137,7 +137,7 @@ public final class EncryptInsertOptimizeEngineTest {
public
void
assertInsertStatementWithSetWithoutPlaceHolderWithEncrypt
()
{
InsertStatement
insertStatement
=
createInsertStatementWithSetWithoutPlaceHolderWithEncrypt
();
EncryptInsertOptimizeEngine
optimizeEngine
=
new
EncryptInsertOptimizeEngine
();
EncryptInsertOptimizedStatement
actual
=
optimizeEngine
.
optimize
(
encryptRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
parametersWithoutValues
,
insertStatement
);
EncryptInsertOptimizedStatement
actual
=
optimizeEngine
.
optimize
(
encryptRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
parametersWithoutValues
,
insertStatement
);
assertThat
(
actual
.
getUnits
().
size
(),
is
(
1
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
0
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getColumnValue
(
"col1"
),
is
((
Object
)
1
));
...
...
@@ -159,7 +159,7 @@ public final class EncryptInsertOptimizeEngineTest {
public
void
assertInsertStatementWithSetWithPlaceHolderWithQueryEncrypt
()
{
InsertStatement
insertStatement
=
createInsertStatementWithSetWithPlaceHolderWithQueryEncrypt
();
EncryptInsertOptimizeEngine
optimizeEngine
=
new
EncryptInsertOptimizeEngine
();
EncryptInsertOptimizedStatement
actual
=
optimizeEngine
.
optimize
(
encryptRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
parametersWithValues
,
insertStatement
);
EncryptInsertOptimizedStatement
actual
=
optimizeEngine
.
optimize
(
encryptRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
parametersWithValues
,
insertStatement
);
assertThat
(
actual
.
getUnits
().
size
(),
is
(
1
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
4
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
0
],
is
((
Object
)
1
));
...
...
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/ddl/ShardingDropIndexOptimizeEngineTest.java
浏览文件 @
fe0888df
...
...
@@ -18,7 +18,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.engnie.ddl
;
import
com.google.common.base.Optional
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.ddl.ShardingDropIndexOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.segment.ddl.index.IndexSegment
;
import
org.apache.shardingsphere.core.parse.sql.segment.generic.TableSegment
;
...
...
@@ -44,26 +44,26 @@ public final class ShardingDropIndexOptimizeEngineTest {
private
DropIndexStatement
dropIndexStatement
;
@Mock
private
Sharding
TableMetaData
shardingT
ableMetaData
;
private
Sharding
SphereTableMetaData
t
ableMetaData
;
@Before
public
void
setUp
()
{
dropIndexStatement
=
new
DropIndexStatement
();
dropIndexStatement
.
getIndexes
().
add
(
new
IndexSegment
(
0
,
0
,
"idx"
));
when
(
shardingT
ableMetaData
.
getLogicTableName
(
"idx"
)).
thenReturn
(
Optional
.
of
(
"meta_tbl"
));
when
(
t
ableMetaData
.
getLogicTableName
(
"idx"
)).
thenReturn
(
Optional
.
of
(
"meta_tbl"
));
}
@Test
public
void
assertOptimizeWithTableName
()
{
dropIndexStatement
.
getAllSQLSegments
().
add
(
new
TableSegment
(
0
,
0
,
"tbl"
));
ShardingDropIndexOptimizedStatement
actual
=
new
ShardingDropIndexOptimizeEngine
().
optimize
(
mock
(
ShardingRule
.
class
),
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
dropIndexStatement
);
ShardingDropIndexOptimizedStatement
actual
=
new
ShardingDropIndexOptimizeEngine
().
optimize
(
mock
(
ShardingRule
.
class
),
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
dropIndexStatement
);
assertThat
(
actual
.
getSQLStatement
(),
is
((
SQLStatement
)
dropIndexStatement
));
assertThat
(
actual
.
getTableNames
().
iterator
().
next
(),
is
(
"tbl"
));
}
@Test
public
void
assertOptimizeWithoutTableName
()
{
ShardingDropIndexOptimizedStatement
actual
=
new
ShardingDropIndexOptimizeEngine
().
optimize
(
mock
(
ShardingRule
.
class
),
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
dropIndexStatement
);
ShardingDropIndexOptimizedStatement
actual
=
new
ShardingDropIndexOptimizeEngine
().
optimize
(
mock
(
ShardingRule
.
class
),
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
dropIndexStatement
);
assertThat
(
actual
.
getSQLStatement
(),
is
((
SQLStatement
)
dropIndexStatement
));
assertThat
(
actual
.
getTableNames
().
iterator
().
next
(),
is
(
"meta_tbl"
));
}
...
...
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingInsertOptimizeEngineTest.java
浏览文件 @
fe0888df
...
...
@@ -18,7 +18,7 @@
package
org.apache.shardingsphere.core.optimize.sharding.engnie.dml
;
import
com.google.common.base.Preconditions
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.dml.ShardingInsertOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.segment.dml.assignment.AssignmentSegment
;
import
org.apache.shardingsphere.core.parse.sql.segment.dml.assignment.InsertValuesSegment
;
...
...
@@ -166,7 +166,7 @@ public final class ShardingInsertOptimizeEngineTest {
@Test
public
void
assertOptimizeInsertValuesWithPlaceholderWithGeneratedKey
()
{
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
insertValuesParameters
,
insertValuesStatementWithPlaceholder
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
insertValuesParameters
,
insertValuesStatementWithPlaceholder
);
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
3
));
assertThat
(
actual
.
getUnits
().
get
(
1
).
getParameters
().
length
,
is
(
3
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
0
],
CoreMatchers
.<
Object
>
is
(
10
));
...
...
@@ -180,7 +180,7 @@ public final class ShardingInsertOptimizeEngineTest {
@Test
public
void
assertOptimizeInsertValuesWithPlaceholderWithGeneratedKeyWithEncrypt
()
{
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
insertValuesParameters
,
insertValuesStatementWithPlaceholderWithEncrypt
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
insertValuesParameters
,
insertValuesStatementWithPlaceholderWithEncrypt
);
assertThat
(
actual
.
getUnits
().
get
(
1
).
getParameters
().
length
,
is
(
3
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
0
],
CoreMatchers
.<
Object
>
is
(
10
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
1
],
CoreMatchers
.<
Object
>
is
(
"init"
));
...
...
@@ -193,7 +193,7 @@ public final class ShardingInsertOptimizeEngineTest {
@Test
public
void
assertOptimizeInsertValuesWithPlaceholderWithoutGeneratedKey
()
{
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
insertValuesParameters
,
insertValuesStatementWithPlaceholder
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
insertValuesParameters
,
insertValuesStatementWithPlaceholder
);
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
3
));
assertThat
(
actual
.
getUnits
().
get
(
1
).
getParameters
().
length
,
is
(
3
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
0
],
CoreMatchers
.<
Object
>
is
(
10
));
...
...
@@ -209,7 +209,7 @@ public final class ShardingInsertOptimizeEngineTest {
insertValuesStatementWithoutPlaceholderWithQueryEncrypt
.
getValues
().
add
(
new
InsertValuesSegment
(
0
,
0
,
Arrays
.<
ExpressionSegment
>
asList
(
new
LiteralExpressionSegment
(
1
,
2
,
12
),
new
LiteralExpressionSegment
(
3
,
4
,
"a"
))));
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
Collections
.
emptyList
(),
insertValuesStatementWithoutPlaceholderWithQueryEncrypt
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
Collections
.
emptyList
(),
insertValuesStatementWithoutPlaceholderWithQueryEncrypt
);
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
0
));
}
...
...
@@ -220,7 +220,7 @@ public final class ShardingInsertOptimizeEngineTest {
insertValuesStatementWithoutPlaceholder
.
getValues
().
add
(
new
InsertValuesSegment
(
0
,
0
,
Arrays
.<
ExpressionSegment
>
asList
(
new
LiteralExpressionSegment
(
1
,
2
,
12
),
new
LiteralExpressionSegment
(
3
,
4
,
"a"
))));
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
Collections
.
emptyList
(),
insertValuesStatementWithoutPlaceholder
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
Collections
.
emptyList
(),
insertValuesStatementWithoutPlaceholder
);
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
0
));
}
...
...
@@ -230,7 +230,7 @@ public final class ShardingInsertOptimizeEngineTest {
AssignmentSegment
assignmentSegment2
=
new
AssignmentSegment
(
0
,
0
,
new
ColumnSegment
(
0
,
0
,
"col2"
),
new
ParameterMarkerExpressionSegment
(
3
,
4
,
1
));
insertSetStatementWithPlaceholder
.
setSetAssignment
(
new
SetAssignmentsSegment
(
0
,
0
,
Arrays
.
asList
(
assignmentSegment1
,
assignmentSegment2
)));
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
insertSetParameters
,
insertSetStatementWithPlaceholder
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
insertSetParameters
,
insertSetStatementWithPlaceholder
);
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
3
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
0
],
CoreMatchers
.<
Object
>
is
(
12
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
1
],
CoreMatchers
.<
Object
>
is
(
"a"
));
...
...
@@ -243,7 +243,7 @@ public final class ShardingInsertOptimizeEngineTest {
AssignmentSegment
assignmentSegment2
=
new
AssignmentSegment
(
0
,
0
,
new
ColumnSegment
(
0
,
0
,
"col2"
),
new
ParameterMarkerExpressionSegment
(
3
,
4
,
1
));
insertSetStatementWithPlaceholderWithQueryEncrypt
.
setSetAssignment
(
new
SetAssignmentsSegment
(
0
,
0
,
Arrays
.
asList
(
assignmentSegment1
,
assignmentSegment2
)));
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
insertSetParameters
,
insertSetStatementWithPlaceholderWithQueryEncrypt
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
insertSetParameters
,
insertSetStatementWithPlaceholderWithQueryEncrypt
);
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
4
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
0
],
CoreMatchers
.<
Object
>
is
(
12
));
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
()[
1
],
CoreMatchers
.<
Object
>
is
(
"a"
));
...
...
@@ -255,7 +255,7 @@ public final class ShardingInsertOptimizeEngineTest {
AssignmentSegment
assignmentSegment2
=
new
AssignmentSegment
(
0
,
0
,
new
ColumnSegment
(
0
,
0
,
"col2"
),
new
LiteralExpressionSegment
(
3
,
4
,
"a"
));
insertSetStatementWithoutPlaceholder
.
setSetAssignment
(
new
SetAssignmentsSegment
(
0
,
0
,
Arrays
.
asList
(
assignmentSegment1
,
assignmentSegment2
)));
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
Collections
.
emptyList
(),
insertSetStatementWithoutPlaceholder
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
Collections
.
emptyList
(),
insertSetStatementWithoutPlaceholder
);
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
0
));
}
...
...
@@ -265,7 +265,7 @@ public final class ShardingInsertOptimizeEngineTest {
AssignmentSegment
assignmentSegment2
=
new
AssignmentSegment
(
0
,
0
,
new
ColumnSegment
(
0
,
0
,
"col2"
),
new
LiteralExpressionSegment
(
3
,
4
,
"a"
));
insertSetStatementWithoutPlaceholderWithEncrypt
.
setSetAssignment
(
new
SetAssignmentsSegment
(
0
,
0
,
Arrays
.
asList
(
assignmentSegment1
,
assignmentSegment2
)));
ShardingInsertOptimizedStatement
actual
=
new
ShardingInsertOptimizeEngine
().
optimize
(
shardingRule
,
mock
(
ShardingTableMetaData
.
class
),
""
,
Collections
.
emptyList
(),
insertSetStatementWithoutPlaceholderWithEncrypt
);
shardingRule
,
mock
(
Sharding
Sphere
TableMetaData
.
class
),
""
,
Collections
.
emptyList
(),
insertSetStatementWithoutPlaceholderWithEncrypt
);
assertThat
(
actual
.
getUnits
().
get
(
0
).
getParameters
().
length
,
is
(
0
));
}
}
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/engnie/dml/ShardingSelectOptimizeEngineTest.java
浏览文件 @
fe0888df
...
...
@@ -19,9 +19,9 @@ 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.
Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingSphereTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.sharding.segment.condition.ShardingCondition
;
import
org.apache.shardingsphere.core.optimize.sharding.segment.condition.ShardingConditions
;
import
org.apache.shardingsphere.core.optimize.sharding.segment.select.item.SelectItems
;
...
...
@@ -70,7 +70,7 @@ public final class ShardingSelectOptimizeEngineTest {
private
ShardingRule
shardingRule
;
@Mock
private
Sharding
TableMetaData
shardingT
ableMetaData
;
private
Sharding
SphereTableMetaData
t
ableMetaData
;
private
SelectStatement
selectStatement
;
...
...
@@ -96,7 +96,7 @@ public final class ShardingSelectOptimizeEngineTest {
WhereSegment
whereSegment
=
new
WhereSegment
(
0
,
0
,
0
);
whereSegment
.
getAndPredicates
().
addAll
(
andPredicates
);
selectStatement
.
setWhere
(
whereSegment
);
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
assertTrue
(
shardingConditions
.
isAlwaysFalse
());
}
...
...
@@ -113,7 +113,7 @@ public final class ShardingSelectOptimizeEngineTest {
WhereSegment
whereSegment
=
new
WhereSegment
(
0
,
0
,
0
);
whereSegment
.
getAndPredicates
().
addAll
(
andPredicates
);
selectStatement
.
setWhere
(
whereSegment
);
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
assertTrue
(
shardingConditions
.
isAlwaysFalse
());
}
...
...
@@ -130,7 +130,7 @@ public final class ShardingSelectOptimizeEngineTest {
WhereSegment
whereSegment
=
new
WhereSegment
(
0
,
0
,
0
);
whereSegment
.
getAndPredicates
().
addAll
(
andPredicates
);
selectStatement
.
setWhere
(
whereSegment
);
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
assertTrue
(
shardingConditions
.
isAlwaysFalse
());
}
...
...
@@ -147,7 +147,7 @@ public final class ShardingSelectOptimizeEngineTest {
WhereSegment
whereSegment
=
new
WhereSegment
(
0
,
0
,
0
);
whereSegment
.
getAndPredicates
().
addAll
(
andPredicates
);
selectStatement
.
setWhere
(
whereSegment
);
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
assertFalse
(
shardingConditions
.
isAlwaysFalse
());
ShardingCondition
shardingCondition
=
shardingConditions
.
getConditions
().
get
(
0
);
RouteValue
shardingValue
=
shardingCondition
.
getRouteValues
().
get
(
0
);
...
...
@@ -170,7 +170,7 @@ public final class ShardingSelectOptimizeEngineTest {
WhereSegment
whereSegment
=
new
WhereSegment
(
0
,
0
,
0
);
whereSegment
.
getAndPredicates
().
addAll
(
andPredicates
);
selectStatement
.
setWhere
(
whereSegment
);
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
assertFalse
(
shardingConditions
.
isAlwaysFalse
());
ShardingCondition
shardingCondition
=
shardingConditions
.
getConditions
().
get
(
0
);
RouteValue
shardingValue
=
shardingCondition
.
getRouteValues
().
get
(
0
);
...
...
@@ -193,7 +193,7 @@ public final class ShardingSelectOptimizeEngineTest {
WhereSegment
whereSegment
=
new
WhereSegment
(
0
,
0
,
0
);
whereSegment
.
getAndPredicates
().
addAll
(
andPredicates
);
selectStatement
.
setWhere
(
whereSegment
);
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
ShardingConditions
shardingConditions
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getShardingConditions
();
assertFalse
(
shardingConditions
.
isAlwaysFalse
());
ShardingCondition
shardingCondition
=
shardingConditions
.
getConditions
().
get
(
0
);
RouteValue
shardingValue
=
shardingCondition
.
getRouteValues
().
get
(
0
);
...
...
@@ -210,10 +210,10 @@ public final class ShardingSelectOptimizeEngineTest {
@Test
public
void
assertOptimizeWithShorthandItems
()
{
when
(
shardingT
ableMetaData
.
get
(
"tbl"
)).
thenReturn
(
createTableMetaData
());
when
(
t
ableMetaData
.
get
(
"tbl"
)).
thenReturn
(
createTableMetaData
());
selectStatement
.
setSelectItems
(
createSelectItemsSegment
());
selectStatement
.
getTables
().
add
(
new
TableSegment
(
0
,
0
,
"tbl"
));
SelectItems
selectItems
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
shardingT
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getSelectItems
();
SelectItems
selectItems
=
new
ShardingSelectOptimizeEngine
().
optimize
(
shardingRule
,
t
ableMetaData
,
""
,
Collections
.
emptyList
(),
selectStatement
).
getSelectItems
();
assertThat
(
selectItems
.
getColumnLabels
().
size
(),
is
(
2
));
assertThat
(
selectItems
.
getColumnLabels
().
get
(
0
),
is
(
"id"
));
assertThat
(
selectItems
.
getColumnLabels
().
get
(
1
),
is
(
"user_id"
));
...
...
sharding-core/sharding-core-optimize/src/test/java/org/apache/shardingsphere/core/optimize/sharding/segment/select/item/SelectItemsTest.java
浏览文件 @
fe0888df
...
...
@@ -17,9 +17,9 @@
package
org.apache.shardingsphere.core.optimize.sharding.segment.select.item
;
import
org.apache.shardingsphere.core.metadata.table.
Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingSphereTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.parse.core.constant.AggregationType
;
import
org.apache.shardingsphere.core.parse.sql.segment.generic.TableSegment
;
import
org.junit.Test
;
...
...
@@ -38,39 +38,39 @@ public final class SelectItemsTest {
@Test
public
void
assertUnqualifiedShorthandItemWithEmptyItems
()
{
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.<
SelectItem
>
emptySet
(),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
());
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.<
SelectItem
>
emptySet
(),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
());
assertFalse
(
selectItems
.
isUnqualifiedShorthandItem
());
}
@Test
public
void
assertUnqualifiedShorthandItemWithWrongSelectItem
()
{
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singleton
((
SelectItem
)
getColumnSelectItem
()),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
());
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singleton
((
SelectItem
)
getColumnSelectItem
()),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
());
assertFalse
(
selectItems
.
isUnqualifiedShorthandItem
());
}
@Test
public
void
assertUnqualifiedShorthandItemWithWrongShortSelectItem
()
{
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singleton
((
SelectItem
)
getShorthandSelectItem
()),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
());
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singleton
((
SelectItem
)
getShorthandSelectItem
()),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
());
assertFalse
(
selectItems
.
isUnqualifiedShorthandItem
());
}
@Test
public
void
assertUnqualifiedShorthandItem
()
{
SelectItem
selectItem
=
new
ShorthandSelectItem
(
null
);
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singleton
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
());
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singleton
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
());
assertTrue
(
selectItems
.
isUnqualifiedShorthandItem
());
}
@Test
public
void
assertFindAliasWithOutAlias
()
{
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.<
SelectItem
>
emptyList
(),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
());
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.<
SelectItem
>
emptyList
(),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
());
assertFalse
(
selectItems
.
findAlias
(
""
).
isPresent
());
}
@Test
public
void
assertFindAlias
()
{
SelectItem
selectItem
=
getColumnSelectItemWithAlias
();
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singleton
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
());
SelectItems
selectItems
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singleton
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
());
assertTrue
(
selectItems
.
findAlias
(
selectItem
.
getExpression
()).
isPresent
());
}
...
...
@@ -78,7 +78,7 @@ public final class SelectItemsTest {
public
void
assertGetAggregationSelectItems
()
{
SelectItem
aggregationSelectItem
=
getAggregationSelectItem
();
List
<
AggregationSelectItem
>
items
=
new
SelectItems
(
0
,
0
,
true
,
Arrays
.
asList
(
aggregationSelectItem
,
getColumnSelectItem
()),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getAggregationSelectItems
();
Arrays
.
asList
(
aggregationSelectItem
,
getColumnSelectItem
()),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getAggregationSelectItems
();
assertTrue
(
items
.
contains
(
aggregationSelectItem
));
assertEquals
(
items
.
size
(),
1
);
}
...
...
@@ -87,7 +87,7 @@ public final class SelectItemsTest {
public
void
assertGetAggregationDistinctSelectItems
()
{
SelectItem
aggregationDistinctSelectItem
=
getAggregationDistinctSelectItem
();
List
<
AggregationDistinctSelectItem
>
items
=
new
SelectItems
(
0
,
0
,
true
,
Arrays
.
asList
(
aggregationDistinctSelectItem
,
getColumnSelectItem
()),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getAggregationDistinctSelectItems
();
Arrays
.
asList
(
aggregationDistinctSelectItem
,
getColumnSelectItem
()),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getAggregationDistinctSelectItems
();
assertTrue
(
items
.
contains
(
aggregationDistinctSelectItem
));
assertEquals
(
items
.
size
(),
1
);
}
...
...
@@ -96,7 +96,7 @@ public final class SelectItemsTest {
public
void
assertGetColumnLabelWithShorthandSelectItem
()
{
SelectItem
selectItem
=
getShorthandSelectItem
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.
singletonList
(
new
TableSegment
(
0
,
0
,
"table"
)),
create
Sharding
TableMetaData
()).
getColumnLabels
();
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.
singletonList
(
new
TableSegment
(
0
,
0
,
"table"
)),
createTableMetaData
()).
getColumnLabels
();
assertEquals
(
columnLabels
,
Arrays
.
asList
(
"id"
,
"name"
));
}
...
...
@@ -104,70 +104,70 @@ public final class SelectItemsTest {
public
void
assertGetColumnLabelWithShorthandSelectItem2
()
{
SelectItem
selectItem
=
getShorthandSelectItemWithOutOwner
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.
singletonList
(
new
TableSegment
(
0
,
0
,
"table"
)),
create
Sharding
TableMetaData
()).
getColumnLabels
();
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.
singletonList
(
new
TableSegment
(
0
,
0
,
"table"
)),
createTableMetaData
()).
getColumnLabels
();
assertEquals
(
columnLabels
,
Arrays
.
asList
(
"id"
,
"name"
));
}
@Test
public
void
assertGetColumnLabelsWithCommonSelectItem
()
{
SelectItem
selectItem
=
getColumnSelectItem
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getColumnLabels
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getColumnLabels
();
assertTrue
(
columnLabels
.
contains
(
selectItem
.
getColumnLabel
()));
}
@Test
public
void
assertGetColumnLabelsWithCommonSelectItemAlias
()
{
SelectItem
selectItem
=
getColumnSelectItemWithAlias
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getColumnLabels
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getColumnLabels
();
assertTrue
(
columnLabels
.
contains
(
selectItem
.
getAlias
().
or
(
""
)));
}
@Test
public
void
assertGetColumnLabelsWithExpressionSelectItem
()
{
SelectItem
selectItem
=
getExpressionSelectItem
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getColumnLabels
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getColumnLabels
();
assertTrue
(
columnLabels
.
contains
(
selectItem
.
getColumnLabel
()));
}
@Test
public
void
assertGetColumnLabelsWithExpressionSelectItemAlias
()
{
SelectItem
selectItem
=
getExpressionSelectItemWithAlias
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getColumnLabels
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getColumnLabels
();
assertTrue
(
columnLabels
.
contains
(
selectItem
.
getAlias
().
or
(
""
)));
}
@Test
public
void
assertGetColumnLabelsWithDerivedSelectItem
()
{
SelectItem
selectItem
=
getDerivedSelectItem
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getColumnLabels
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getColumnLabels
();
assertTrue
(
columnLabels
.
contains
(
selectItem
.
getColumnLabel
()));
}
@Test
public
void
assertGetColumnLabelsWithDerivedSelectItemAlias
()
{
SelectItem
selectItem
=
getDerivedSelectItemWithAlias
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getColumnLabels
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getColumnLabels
();
assertTrue
(
columnLabels
.
contains
(
selectItem
.
getAlias
().
or
(
""
)));
}
@Test
public
void
assertGetColumnLabelsWithAggregationSelectItem
()
{
SelectItem
selectItem
=
getAggregationSelectItem
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getColumnLabels
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getColumnLabels
();
assertTrue
(
columnLabels
.
contains
(
selectItem
.
getColumnLabel
()));
}
@Test
public
void
assertGetColumnLabelsWithAggregationDistinctSelectItem
()
{
SelectItem
selectItem
=
getAggregationDistinctSelectItem
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
create
Sharding
TableMetaData
()).
getColumnLabels
();
List
<
String
>
columnLabels
=
new
SelectItems
(
0
,
0
,
true
,
Collections
.
singletonList
(
selectItem
),
Collections
.<
TableSegment
>
emptyList
(),
createTableMetaData
()).
getColumnLabels
();
assertTrue
(
columnLabels
.
contains
(
selectItem
.
getColumnLabel
()));
}
private
Sharding
TableMetaData
createSharding
TableMetaData
()
{
private
Sharding
SphereTableMetaData
create
TableMetaData
()
{
Map
<
String
,
TableMetaData
>
tables
=
new
HashMap
<>(
1
,
1
);
tables
.
put
(
"table"
,
new
TableMetaData
(
Arrays
.
asList
(
new
ColumnMetaData
(
"id"
,
"number"
,
true
),
new
ColumnMetaData
(
"name"
,
"varchar"
,
false
)),
Collections
.<
String
>
emptyList
()));
return
new
ShardingTableMetaData
(
tables
);
return
new
Sharding
Sphere
TableMetaData
(
tables
);
}
private
ShorthandSelectItem
getShorthandSelectItem
()
{
...
...
sharding-core/sharding-core-rewrite/src/test/java/org/apache/shardingsphere/core/rewrite/rewriter/EncryptSQLRewriteEngineTest.java
浏览文件 @
fe0888df
...
...
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.api.config.encrypt.EncryptRuleConfiguration;
import
org.apache.shardingsphere.api.config.encrypt.EncryptTableRuleConfiguration
;
import
org.apache.shardingsphere.api.config.encrypt.EncryptorRuleConfiguration
;
import
org.apache.shardingsphere.core.database.DatabaseTypes
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.encrypt.EncryptOptimizeEngineFactory
;
import
org.apache.shardingsphere.core.optimize.encrypt.statement.EncryptOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.SQLParseEngine
;
...
...
@@ -335,7 +335,8 @@ public final class EncryptSQLRewriteEngineTest {
private
SQLUnit
getSQLUnit
(
final
String
sql
,
final
List
<
Object
>
parameters
,
final
boolean
isQueryWithCipherColumn
)
{
// TODO panjuan: should mock sqlStatement, do not call parse module on rewrite test case
SQLStatement
sqlStatement
=
parseEngine
.
parse
(
sql
,
false
);
EncryptOptimizedStatement
encryptStatement
=
EncryptOptimizeEngineFactory
.
newInstance
(
sqlStatement
).
optimize
(
encryptRule
,
mock
(
ShardingTableMetaData
.
class
),
sql
,
parameters
,
sqlStatement
);
EncryptOptimizedStatement
encryptStatement
=
EncryptOptimizeEngineFactory
.
newInstance
(
sqlStatement
)
.
optimize
(
encryptRule
,
mock
(
ShardingSphereTableMetaData
.
class
),
sql
,
parameters
,
sqlStatement
);
SQLRewriteEngine
sqlRewriteEngine
=
new
SQLRewriteEngine
(
encryptRule
,
encryptStatement
,
sql
,
parameters
,
isQueryWithCipherColumn
);
return
sqlRewriteEngine
.
generateSQL
();
}
...
...
sharding-core/sharding-core-route/src/main/java/org/apache/shardingsphere/core/route/hook/RoutingHook.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.route.hook
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.route.SQLRouteResult
;
/**
...
...
@@ -38,9 +38,9 @@ public interface RoutingHook {
* Handle when routing finished success.
*
* @param sqlRouteResult sql route result
* @param
shardingTableMetaData sharding table meta data
* @param
tableMetaData table meta data of ShardingSphere
*/
void
finishSuccess
(
SQLRouteResult
sqlRouteResult
,
Sharding
TableMetaData
shardingT
ableMetaData
);
void
finishSuccess
(
SQLRouteResult
sqlRouteResult
,
Sharding
SphereTableMetaData
t
ableMetaData
);
/**
* Handle when routing finished failure.
...
...
sharding-core/sharding-core-route/src/main/java/org/apache/shardingsphere/core/route/hook/SPIRoutingHook.java
浏览文件 @
fe0888df
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.core.route.hook
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.route.SQLRouteResult
;
import
org.apache.shardingsphere.core.spi.NewInstanceServiceLoader
;
...
...
@@ -44,9 +44,9 @@ public final class SPIRoutingHook implements RoutingHook {
}
@Override
public
void
finishSuccess
(
final
SQLRouteResult
sqlRouteResult
,
final
Sharding
TableMetaData
shardingT
ableMetaData
)
{
public
void
finishSuccess
(
final
SQLRouteResult
sqlRouteResult
,
final
Sharding
SphereTableMetaData
t
ableMetaData
)
{
for
(
RoutingHook
each
:
routingHooks
)
{
each
.
finishSuccess
(
sqlRouteResult
,
shardingT
ableMetaData
);
each
.
finishSuccess
(
sqlRouteResult
,
t
ableMetaData
);
}
}
...
...
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/core/route/DatabaseTest.java
浏览文件 @
fe0888df
...
...
@@ -25,9 +25,9 @@ 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.
Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingSphereTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.sharding.statement.dml.ShardingSelectOptimizedStatement
;
import
org.apache.shardingsphere.core.parse.SQLParseEngine
;
import
org.apache.shardingsphere.core.route.fixture.HintShardingAlgorithmFixture
;
...
...
@@ -90,10 +90,10 @@ public final class DatabaseTest {
private
ShardingSphereMetaData
getMetaDataForAllRoutingSQL
()
{
ColumnMetaData
idColumnMetaData
=
new
ColumnMetaData
(
"id"
,
"int"
,
true
);
ColumnMetaData
nameColumnMetaData
=
new
ColumnMetaData
(
"user_id"
,
"int"
,
false
);
Sharding
TableMetaData
shardingTableMetaData
=
mock
(
Sharding
TableMetaData
.
class
);
when
(
shardingT
ableMetaData
.
get
(
"tesT"
)).
thenReturn
(
new
TableMetaData
(
Arrays
.
asList
(
idColumnMetaData
,
nameColumnMetaData
),
Arrays
.
asList
(
"id"
,
"user_id"
)));
Sharding
SphereTableMetaData
tableMetaData
=
mock
(
ShardingSphere
TableMetaData
.
class
);
when
(
t
ableMetaData
.
get
(
"tesT"
)).
thenReturn
(
new
TableMetaData
(
Arrays
.
asList
(
idColumnMetaData
,
nameColumnMetaData
),
Arrays
.
asList
(
"id"
,
"user_id"
)));
ShardingSphereMetaData
result
=
mock
(
ShardingSphereMetaData
.
class
);
when
(
result
.
getTable
()).
thenReturn
(
shardingT
ableMetaData
);
when
(
result
.
getTable
()).
thenReturn
(
t
ableMetaData
);
return
result
;
}
...
...
@@ -114,10 +114,10 @@ public final class DatabaseTest {
private
ShardingSphereMetaData
getMetaDataForPagination
()
{
ColumnMetaData
idColumnMetaData
=
new
ColumnMetaData
(
"id"
,
"int"
,
true
);
ColumnMetaData
nameColumnMetaData
=
new
ColumnMetaData
(
"user_id"
,
"int"
,
false
);
Sharding
TableMetaData
shardingTableMetaData
=
mock
(
Sharding
TableMetaData
.
class
);
when
(
shardingT
ableMetaData
.
get
(
"tbl_pagination"
)).
thenReturn
(
new
TableMetaData
(
Arrays
.
asList
(
idColumnMetaData
,
nameColumnMetaData
),
Arrays
.
asList
(
"id"
,
"user_id"
)));
Sharding
SphereTableMetaData
tableMetaData
=
mock
(
ShardingSphere
TableMetaData
.
class
);
when
(
t
ableMetaData
.
get
(
"tbl_pagination"
)).
thenReturn
(
new
TableMetaData
(
Arrays
.
asList
(
idColumnMetaData
,
nameColumnMetaData
),
Arrays
.
asList
(
"id"
,
"user_id"
)));
ShardingSphereMetaData
result
=
mock
(
ShardingSphereMetaData
.
class
);
when
(
result
.
getTable
()).
thenReturn
(
shardingT
ableMetaData
);
when
(
result
.
getTable
()).
thenReturn
(
t
ableMetaData
);
return
result
;
}
...
...
@@ -135,7 +135,7 @@ public final class DatabaseTest {
ShardingRule
rule
=
new
ShardingRule
(
shardingRuleConfig
,
dataSourceMap
.
keySet
());
String
originSQL
=
"select city_id from t_user where city_id in (?,?) limit 5,10"
;
ShardingSphereMetaData
metaData
=
mock
(
ShardingSphereMetaData
.
class
);
when
(
metaData
.
getTable
()).
thenReturn
(
mock
(
ShardingTableMetaData
.
class
));
when
(
metaData
.
getTable
()).
thenReturn
(
mock
(
Sharding
Sphere
TableMetaData
.
class
));
SQLParseEngine
parseEngine
=
new
SQLParseEngine
(
DatabaseTypes
.
getActualDatabaseType
(
"MySQL"
));
SQLRouteResult
actual
=
new
PreparedStatementRoutingEngine
(
originSQL
,
rule
,
metaData
,
DatabaseTypes
.
getActualDatabaseType
(
"MySQL"
),
parseEngine
).
route
(
Lists
.<
Object
>
newArrayList
(
13
,
173
));
assertThat
(((
ShardingSelectOptimizedStatement
)
actual
.
getShardingStatement
()).
getPagination
().
getActualOffset
(),
is
(
5
));
...
...
sharding-core/sharding-core-route/src/test/java/org/apache/shardingsphere/core/route/type/standard/AbstractSQLRouteTest.java
浏览文件 @
fe0888df
...
...
@@ -24,9 +24,9 @@ import org.apache.shardingsphere.api.config.sharding.strategy.InlineShardingStra
import
org.apache.shardingsphere.core.database.DatabaseTypes
;
import
org.apache.shardingsphere.core.metadata.ShardingSphereMetaData
;
import
org.apache.shardingsphere.core.metadata.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingSphereTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.parse.SQLParseEngine
;
import
org.apache.shardingsphere.core.route.PreparedStatementRoutingEngine
;
import
org.apache.shardingsphere.core.route.SQLRouteResult
;
...
...
@@ -48,7 +48,7 @@ public abstract class AbstractSQLRouteTest {
protected
final
SQLRouteResult
assertRoute
(
final
String
sql
,
final
List
<
Object
>
parameters
)
{
ShardingRule
shardingRule
=
createShardingRule
();
ShardingSphereMetaData
metaData
=
new
ShardingSphereMetaData
(
buildDataSourceMetaData
(),
build
Sharding
TableMetaData
());
ShardingSphereMetaData
metaData
=
new
ShardingSphereMetaData
(
buildDataSourceMetaData
(),
buildTableMetaData
());
SQLParseEngine
parseEngine
=
new
SQLParseEngine
(
DatabaseTypes
.
getActualDatabaseType
(
"MySQL"
));
PreparedStatementRoutingEngine
engine
=
new
PreparedStatementRoutingEngine
(
sql
,
shardingRule
,
metaData
,
DatabaseTypes
.
getActualDatabaseType
(
"MySQL"
),
parseEngine
);
SQLRouteResult
result
=
engine
.
route
(
parameters
);
...
...
@@ -111,13 +111,13 @@ public abstract class AbstractSQLRouteTest {
return
result
;
}
private
Sharding
TableMetaData
buildSharding
TableMetaData
()
{
private
Sharding
SphereTableMetaData
build
TableMetaData
()
{
Map
<
String
,
TableMetaData
>
tableMetaDataMap
=
new
HashMap
<>(
3
,
1
);
tableMetaDataMap
.
put
(
"t_order"
,
new
TableMetaData
(
Arrays
.
asList
(
new
ColumnMetaData
(
"order_id"
,
"int"
,
true
),
new
ColumnMetaData
(
"user_id"
,
"int"
,
false
),
new
ColumnMetaData
(
"status"
,
"int"
,
false
)),
Collections
.<
String
>
emptySet
()));
tableMetaDataMap
.
put
(
"t_order_item"
,
new
TableMetaData
(
Arrays
.
asList
(
new
ColumnMetaData
(
"item_id"
,
"int"
,
true
),
new
ColumnMetaData
(
"order_id"
,
"int"
,
false
),
new
ColumnMetaData
(
"user_id"
,
"int"
,
false
),
new
ColumnMetaData
(
"status"
,
"varchar"
,
false
),
new
ColumnMetaData
(
"c_date"
,
"timestamp"
,
false
)),
Collections
.<
String
>
emptySet
()));
return
new
ShardingTableMetaData
(
tableMetaDataMap
);
return
new
Sharding
Sphere
TableMetaData
(
tableMetaDataMap
);
}
}
sharding-jdbc/sharding-jdbc-core/src/main/java/org/apache/shardingsphere/shardingjdbc/jdbc/core/context/EncryptRuntimeContext.java
浏览文件 @
fe0888df
...
...
@@ -19,9 +19,9 @@ package org.apache.shardingsphere.shardingjdbc.jdbc.core.context;
import
com.google.common.base.Optional
;
import
lombok.Getter
;
import
org.apache.shardingsphere.core.metadata.table.
Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.TableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.
ShardingSphereTable
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.Column
MetaData
;
import
org.apache.shardingsphere.core.metadata.table.
impl.
TableMetaData
;
import
org.apache.shardingsphere.core.rule.EncryptRule
;
import
org.apache.shardingsphere.spi.database.DatabaseType
;
...
...
@@ -46,14 +46,14 @@ import java.util.Set;
@Getter
public
final
class
EncryptRuntimeContext
extends
AbstractRuntimeContext
<
EncryptRule
>
{
private
final
ShardingTableMetaData
metaData
;
private
final
Sharding
Sphere
TableMetaData
metaData
;
public
EncryptRuntimeContext
(
final
DataSource
dataSource
,
final
EncryptRule
rule
,
final
Properties
props
,
final
DatabaseType
databaseType
)
throws
SQLException
{
super
(
rule
,
props
,
databaseType
);
metaData
=
createEncryptTableMetaData
(
dataSource
,
rule
);
}
private
ShardingTableMetaData
createEncryptTableMetaData
(
final
DataSource
dataSource
,
final
EncryptRule
encryptRule
)
throws
SQLException
{
private
Sharding
Sphere
TableMetaData
createEncryptTableMetaData
(
final
DataSource
dataSource
,
final
EncryptRule
encryptRule
)
throws
SQLException
{
Map
<
String
,
TableMetaData
>
tables
=
new
LinkedHashMap
<>();
try
(
Connection
connection
=
dataSource
.
getConnection
())
{
for
(
String
each
:
encryptRule
.
getEncryptTableNames
())
{
...
...
@@ -62,7 +62,7 @@ public final class EncryptRuntimeContext extends AbstractRuntimeContext<EncryptR
}
}
}
return
new
ShardingTableMetaData
(
tables
);
return
new
Sharding
Sphere
TableMetaData
(
tables
);
}
private
boolean
isTableExist
(
final
Connection
connection
,
final
String
tableName
)
throws
SQLException
{
...
...
sharding-jdbc/sharding-jdbc-core/src/main/java/org/apache/shardingsphere/shardingjdbc/jdbc/core/context/ShardingRuntimeContext.java
浏览文件 @
fe0888df
...
...
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.core.constant.properties.ShardingPropertiesCons
import
org.apache.shardingsphere.core.execute.metadata.TableMetaDataInitializer
;
import
org.apache.shardingsphere.core.metadata.ShardingSphereMetaData
;
import
org.apache.shardingsphere.core.metadata.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
org.apache.shardingsphere.shardingjdbc.jdbc.core.datasource.metadata.CachedDatabaseMetaData
;
import
org.apache.shardingsphere.shardingjdbc.jdbc.metadata.JDBCTableMetaDataConnectionManager
;
...
...
@@ -70,8 +70,8 @@ public final class ShardingRuntimeContext extends AbstractRuntimeContext<Shardin
private
ShardingSphereMetaData
createMetaData
(
final
Map
<
String
,
DataSource
>
dataSourceMap
,
final
ShardingRule
shardingRule
,
final
DatabaseType
databaseType
)
throws
SQLException
{
ShardingSphereDataSourceMetaData
dataSourceMetaData
=
new
ShardingSphereDataSourceMetaData
(
getDataSourceURLs
(
dataSourceMap
),
databaseType
);
Sharding
TableMetaData
shardingTableMetaData
=
new
Sharding
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMap
,
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
shardingT
ableMetaData
);
Sharding
SphereTableMetaData
tableMetaData
=
new
ShardingSphere
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMap
,
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
t
ableMetaData
);
}
private
Map
<
String
,
String
>
getDataSourceURLs
(
final
Map
<
String
,
DataSource
>
dataSourceMap
)
throws
SQLException
{
...
...
sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/schema/impl/EncryptSchema.java
浏览文件 @
fe0888df
...
...
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.api.config.encrypt.EncryptRuleConfiguration;
import
org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration
;
import
org.apache.shardingsphere.core.metadata.ShardingSphereMetaData
;
import
org.apache.shardingsphere.core.metadata.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.rule.EncryptRule
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
org.apache.shardingsphere.core.util.ConfigurationLogger
;
...
...
@@ -59,8 +59,8 @@ public final class EncryptSchema extends LogicSchema {
private
ShardingSphereMetaData
createMetaData
()
{
ShardingSphereDataSourceMetaData
dataSourceMetaData
=
new
ShardingSphereDataSourceMetaData
(
getDataSourceURLs
(
getDataSources
()),
LogicSchemas
.
getInstance
().
getDatabaseType
());
Sharding
TableMetaData
shardingTableMetaData
=
new
Sharding
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
shardingT
ableMetaData
);
Sharding
SphereTableMetaData
tableMetaData
=
new
ShardingSphere
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
t
ableMetaData
);
}
/**
...
...
sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/schema/impl/MasterSlaveSchema.java
浏览文件 @
fe0888df
...
...
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.api.config.masterslave.MasterSlaveRuleConfigura
import
org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration
;
import
org.apache.shardingsphere.core.metadata.ShardingSphereMetaData
;
import
org.apache.shardingsphere.core.metadata.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.rule.MasterSlaveRule
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
org.apache.shardingsphere.core.util.ConfigurationLogger
;
...
...
@@ -66,8 +66,8 @@ public final class MasterSlaveSchema extends LogicSchema {
private
ShardingSphereMetaData
createMetaData
()
{
ShardingSphereDataSourceMetaData
dataSourceMetaData
=
new
ShardingSphereDataSourceMetaData
(
getDataSourceURLs
(
getDataSources
()),
LogicSchemas
.
getInstance
().
getDatabaseType
());
Sharding
TableMetaData
shardingTableMetaData
=
new
Sharding
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
shardingT
ableMetaData
);
Sharding
SphereTableMetaData
tableMetaData
=
new
ShardingSphere
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
t
ableMetaData
);
}
/**
...
...
sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/schema/impl/ShardingSchema.java
浏览文件 @
fe0888df
...
...
@@ -23,7 +23,7 @@ import lombok.Getter;
import
org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration
;
import
org.apache.shardingsphere.core.metadata.ShardingSphereMetaData
;
import
org.apache.shardingsphere.core.metadata.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.optimize.api.statement.OptimizedStatement
;
import
org.apache.shardingsphere.core.parse.sql.segment.ddl.index.IndexSegment
;
import
org.apache.shardingsphere.core.parse.sql.statement.ddl.AlterTableStatement
;
...
...
@@ -76,8 +76,8 @@ public final class ShardingSchema extends LogicSchema {
private
ShardingSphereMetaData
createMetaData
()
{
ShardingSphereDataSourceMetaData
dataSourceMetaData
=
new
ShardingSphereDataSourceMetaData
(
getDataSourceURLs
(
getDataSources
()),
LogicSchemas
.
getInstance
().
getDatabaseType
());
Sharding
TableMetaData
shardingTableMetaData
=
new
Sharding
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
shardingT
ableMetaData
);
Sharding
SphereTableMetaData
tableMetaData
=
new
ShardingSphere
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
t
ableMetaData
);
}
/**
...
...
sharding-proxy/sharding-proxy-backend/src/main/java/org/apache/shardingsphere/shardingproxy/backend/schema/impl/TransparentSchema.java
浏览文件 @
fe0888df
...
...
@@ -21,7 +21,7 @@ import lombok.Getter;
import
org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration
;
import
org.apache.shardingsphere.core.metadata.ShardingSphereMetaData
;
import
org.apache.shardingsphere.core.metadata.datasource.ShardingSphereDataSourceMetaData
;
import
org.apache.shardingsphere.core.metadata.table.ShardingTableMetaData
;
import
org.apache.shardingsphere.core.metadata.table.Sharding
Sphere
TableMetaData
;
import
org.apache.shardingsphere.core.parse.SQLParseEngine
;
import
org.apache.shardingsphere.core.rule.ShardingRule
;
import
org.apache.shardingsphere.shardingproxy.backend.schema.LogicSchema
;
...
...
@@ -56,7 +56,7 @@ public final class TransparentSchema extends LogicSchema {
private
ShardingSphereMetaData
createMetaData
()
{
ShardingSphereDataSourceMetaData
dataSourceMetaData
=
new
ShardingSphereDataSourceMetaData
(
getDataSourceURLs
(
getDataSources
()),
LogicSchemas
.
getInstance
().
getDatabaseType
());
Sharding
TableMetaData
shardingTableMetaData
=
new
Sharding
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
shardingT
ableMetaData
);
Sharding
SphereTableMetaData
tableMetaData
=
new
ShardingSphere
TableMetaData
(
getTableMetaDataInitializer
(
dataSourceMetaData
).
load
(
shardingRule
));
return
new
ShardingSphereMetaData
(
dataSourceMetaData
,
t
ableMetaData
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录