public final class ShardingRule extends Object implements org.apache.shardingsphere.infra.rule.identifier.scope.DatabaseRule, org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRule, org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule
| 构造器和说明 |
|---|
ShardingRule(AlgorithmProvidedShardingRuleConfiguration config,
Collection<String> dataSourceNames,
org.apache.shardingsphere.infra.instance.InstanceContext instanceContext) |
ShardingRule(ShardingRuleConfiguration config,
Collection<String> dataSourceNames,
org.apache.shardingsphere.infra.instance.InstanceContext instanceContext) |
| 限定符和类型 | 方法和说明 |
|---|---|
Optional<String> |
findActualTableByCatalog(String catalog,
String logicTable) |
Optional<BindingTableRule> |
findBindingTableRule(String logicTableName)
Find binding table rule via logic table name.
|
Optional<String> |
findFirstActualTable(String logicTable) |
Optional<String> |
findGenerateKeyColumnName(String logicTableName)
Find column name of generated key.
|
Optional<String> |
findLogicTableByActualTable(String actualTable) |
Optional<String> |
findShardingColumn(String columnName,
String tableName)
Find sharding column.
|
Optional<TableRule> |
findTableRule(String logicTableName)
Find table rule.
|
Optional<TableRule> |
findTableRuleByActualTable(String actualTableName)
Find table rule via actual table name.
|
Comparable<?> |
generateKey(String logicTableName)
Find the Generated key of logic table.
|
Map<String,Collection<org.apache.shardingsphere.infra.datanode.DataNode>> |
getAllDataNodes() |
Collection<String> |
getAllTables() |
ShardingAuditStrategyConfiguration |
getAuditStrategyConfiguration(TableRule tableRule)
Get audit strategy configuration.
|
ShardingStrategyConfiguration |
getDatabaseShardingStrategyConfiguration(TableRule tableRule)
Get database sharding strategy configuration.
|
org.apache.shardingsphere.infra.datanode.DataNode |
getDataNode(String logicTableName)
Find data node by logic table name.
|
Collection<org.apache.shardingsphere.infra.datanode.DataNode> |
getDataNodesByTableName(String tableName) |
Map<String,String> |
getLogicAndActualTablesFromBindingTable(String dataSourceName,
String logicTable,
String actualTable,
Collection<String> availableLogicBindingTables)
Get logic and actual binding tables.
|
Collection<String> |
getLogicTablesByActualTable(String actualTable)
Get logic tables via actual table name.
|
Collection<String> |
getShardingLogicTableNames(Collection<String> logicTableNames)
Get sharding logic table names.
|
Collection<String> |
getShardingRuleTableNames(Collection<String> logicTableNames)
Get sharding rule table names.
|
TableRule |
getTableRule(String logicTableName)
Get table rule.
|
Collection<String> |
getTables() |
ShardingStrategyConfiguration |
getTableShardingStrategyConfiguration(TableRule tableRule)
Get table sharding strategy configuration.
|
String |
getType() |
boolean |
isAllBindingTables(Collection<String> logicTableNames)
Judge whether logic table is all binding tables or not.
|
boolean |
isAllBindingTables(org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase database,
SQLStatementContext<?> sqlStatementContext,
Collection<String> logicTableNames)
Judge whether logic table is all binding tables.
|
boolean |
isAllBroadcastTables(Collection<String> logicTableNames)
Judge whether logic table is all broadcast tables or not.
|
boolean |
isAllShardingTables(Collection<String> logicTableNames)
Judge whether logic table is all sharding table or not.
|
boolean |
isAllTablesInSameDataSource(Collection<String> logicTableNames)
Judge whether all tables are in same data source or not.
|
boolean |
isBroadcastTable(String logicTableName)
Judge whether logic table is broadcast table or not.
|
boolean |
isGenerateKeyColumn(String columnName,
String tableName)
Judge whether given logic table column is generate key column or not.
|
boolean |
isNeedAccumulate(Collection<String> tables) |
boolean |
isShardingTable(String logicTableName)
Judge whether logic table is sharding table or not.
|
boolean |
tableRuleExists(Collection<String> logicTableNames)
Judge whether a table rule exists for logic tables.
|
public ShardingRule(ShardingRuleConfiguration config, Collection<String> dataSourceNames, org.apache.shardingsphere.infra.instance.InstanceContext instanceContext)
public ShardingRule(AlgorithmProvidedShardingRuleConfiguration config, Collection<String> dataSourceNames, org.apache.shardingsphere.infra.instance.InstanceContext instanceContext)
public Collection<String> getAllTables()
getAllTables 在接口中 org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRulepublic ShardingStrategyConfiguration getDatabaseShardingStrategyConfiguration(TableRule tableRule)
tableRule - table rulepublic ShardingStrategyConfiguration getTableShardingStrategyConfiguration(TableRule tableRule)
tableRule - table rulepublic ShardingAuditStrategyConfiguration getAuditStrategyConfiguration(TableRule tableRule)
tableRule - table rulepublic Optional<TableRule> findTableRule(String logicTableName)
logicTableName - logic table namepublic Optional<TableRule> findTableRuleByActualTable(String actualTableName)
actualTableName - actual table namepublic TableRule getTableRule(String logicTableName)
logicTableName - logic table namepublic boolean isAllBindingTables(Collection<String> logicTableNames)
logicTableNames - logic table namespublic boolean isAllBindingTables(org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase database,
SQLStatementContext<?> sqlStatementContext,
Collection<String> logicTableNames)
database - databasesqlStatementContext - sqlStatementContextlogicTableNames - logic table namespublic Optional<BindingTableRule> findBindingTableRule(String logicTableName)
logicTableName - logic table namepublic boolean isAllBroadcastTables(Collection<String> logicTableNames)
logicTableNames - logic table namespublic boolean isAllShardingTables(Collection<String> logicTableNames)
logicTableNames - logic table namespublic boolean isShardingTable(String logicTableName)
logicTableName - logic table namepublic boolean isBroadcastTable(String logicTableName)
logicTableName - logic table namepublic boolean isAllTablesInSameDataSource(Collection<String> logicTableNames)
logicTableNames - logic table namespublic boolean tableRuleExists(Collection<String> logicTableNames)
logicTableNames - logic table namespublic Optional<String> findShardingColumn(String columnName, String tableName)
columnName - column nametableName - table namepublic boolean isGenerateKeyColumn(String columnName, String tableName)
columnName - column nametableName - table namepublic Optional<String> findGenerateKeyColumnName(String logicTableName)
logicTableName - logic table namepublic Comparable<?> generateKey(String logicTableName)
logicTableName - logic table namepublic org.apache.shardingsphere.infra.datanode.DataNode getDataNode(String logicTableName)
logicTableName - logic table namepublic Collection<String> getShardingLogicTableNames(Collection<String> logicTableNames)
logicTableNames - logic table namespublic Collection<String> getShardingRuleTableNames(Collection<String> logicTableNames)
logicTableNames - logic table namespublic Map<String,String> getLogicAndActualTablesFromBindingTable(String dataSourceName, String logicTable, String actualTable, Collection<String> availableLogicBindingTables)
dataSourceName - data source namelogicTable - logic table nameactualTable - actual table nameavailableLogicBindingTables - available logic binding table namespublic Collection<String> getLogicTablesByActualTable(String actualTable)
actualTable - actual table namepublic Map<String,Collection<org.apache.shardingsphere.infra.datanode.DataNode>> getAllDataNodes()
getAllDataNodes 在接口中 org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRulepublic Collection<org.apache.shardingsphere.infra.datanode.DataNode> getDataNodesByTableName(String tableName)
getDataNodesByTableName 在接口中 org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRulepublic Optional<String> findFirstActualTable(String logicTable)
findFirstActualTable 在接口中 org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRulepublic boolean isNeedAccumulate(Collection<String> tables)
isNeedAccumulate 在接口中 org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRulepublic Optional<String> findLogicTableByActualTable(String actualTable)
findLogicTableByActualTable 在接口中 org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRulepublic Collection<String> getTables()
getTables 在接口中 org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRulepublic Optional<String> findActualTableByCatalog(String catalog, String logicTable)
findActualTableByCatalog 在接口中 org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRulepublic String getType()
getType 在接口中 org.apache.shardingsphere.infra.rule.ShardingSphereRuleCopyright © 2022 The Apache Software Foundation. All rights reserved.