caoweicw opened a new issue, #32166:
URL: https://github.com/apache/shardingsphere/issues/32166

   
   public final class ShardingDatabasesAndTablesConfigurationPrecise {
       
       @Override
       public DataSource getDataSource() throws SQLException {
           return 
ShardingSphereDataSourceFactory.createDataSource(createDataSourceMap(), 
Arrays.asList(createShardingRuleConfiguration(), 
createBroadcastRuleConfiguration())), new Properties());
       }
       
       private ShardingRuleConfiguration createShardingRuleConfiguration() {
           ShardingRuleConfiguration result = new ShardingRuleConfiguration();
           result.getTables().add(getOrderTableRuleConfiguration());
           result.getTables().add(getOrderItemTableRuleConfiguration());
           result.getBindingTableGroups().add(new 
ShardingTableReferenceRuleConfiguration("foo", "t_order, t_order_item"));
           result.setDefaultDatabaseShardingStrategy(new 
StandardShardingStrategyConfiguration("user_id", "inline"));
           result.setDefaultTableShardingStrategy(new 
StandardShardingStrategyConfiguration("order_id", "standard_test_tbl"));
           Properties props = new Properties();
           props.setProperty("algorithm-expression", "demo_ds_${user_id % 2}");
           result.getShardingAlgorithms().put("inline", new 
AlgorithmConfiguration("INLINE", props));
           result.getShardingAlgorithms().put("standard_test_tbl", new 
AlgorithmConfiguration("STANDARD_TEST_TBL", new Properties()));
           result.getKeyGenerators().put("snowflake", new 
AlgorithmConfiguration("SNOWFLAKE", new Properties()));
           result.getAuditors().put("sharding_key_required_auditor", new 
AlgorithmConfiguration("DML_SHARDING_CONDITIONS", new Properties()));
           return result;
       }
       
       private ShardingTableRuleConfiguration getOrderTableRuleConfiguration() {
           ShardingTableRuleConfiguration result = new 
ShardingTableRuleConfiguration("t_order", "demo_ds_${0..1}.t_order_${[0, 1]}");
           result.setKeyGenerateStrategy(new 
KeyGenerateStrategyConfiguration("order_id", "snowflake"));
           result.setAuditStrategy(new 
ShardingAuditStrategyConfiguration(Collections.singleton("sharding_key_required_auditor"),
 true));
           return result;
       }
       
       private ShardingTableRuleConfiguration 
getOrderItemTableRuleConfiguration() {
           ShardingTableRuleConfiguration result = new 
ShardingTableRuleConfiguration("t_order_item", 
"demo_ds_${0..1}.t_order_item_${[0, 1]}");
           result.setKeyGenerateStrategy(new 
KeyGenerateStrategyConfiguration("order_item_id", "snowflake"));
           return result;
       }
       
       private Map<String, DataSource> createDataSourceMap() {
           Map<String, DataSource> result = new HashMap<>();
           result.put("demo_ds_0", 
DataSourceUtil.createDataSource("demo_ds_0"));
           result.put("demo_ds_1", 
DataSourceUtil.createDataSource("demo_ds_1"));
           return result;
       }
       
       private BroadcastRuleConfiguration createBroadcastRuleConfiguration() {
           return new 
BroadcastRuleConfiguration(Collections.singletonList("t_address"));;
       }
   }
   
   
   
   
   
   
   
   t_order not in logic_db->schema-> tables, so when query,will cause 
exception: table or view "xxx" does no exist


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: 
[email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to