spyvip edited a comment on issue #6852:
URL: https://github.com/apache/shardingsphere/issues/6852#issuecomment-674338749


   > @spyvip Your Logic SQL include `shadow` field, so Actual SQL has.
   > I guess, Your sharding-tables has different field list.(maybe ds0 include 
`shadow` field. but ds1 not).
   > Check it.
   
   right? 
   I try 5.0.0.rc shardingsphere-proxy,it can remove `shadow` field, but it 
route wrong database when I use sharding and shadow both, config as flow
   
   # config-my.yaml
   
   ````
   dataSources:
     ds_0:
       url: jdbc:mysql://127.0.0.1:3306/order0?serverTimezone=UTC&useSSL=false
     ds_1:
       url: jdbc:mysql://127.0.0.1:3306/order1?serverTimezone=UTC&useSSL=false
     shadow_ds_0:
       url: 
jdbc:mysql://127.0.0.1:3306/shadow_order0?serverTimezone=UTC&useSSL=false
     shadow_ds_1:
       url: 
jdbc:mysql://127.0.0.1:3306/shadow_order1?serverTimezone=UTC&useSSL=false
   rules:
   - !SHARDING
     defaultDatabaseStrategy:
       standard:
         shardingColumn: user_id
         shardingAlgorithmName: database_inline  
     shardingAlgorithms:
       database_inline:
         type: INLINE
         props:
           algorithm.expression: ds_${user_id % 2}
   
   - !SHADOW
     column: shadow
     shadowMappings:
       ds_0: shadow_ds_0
       ds_1: shadow_ds_1
   ````
   
   # my test sql
   ````
   String sql = "insert into t_order(user_id,order_no,order_name,remark) 
values('1','123','book-master1','spy')";
           jdbcTemplate.update(sql);
   ````
   
   #  stdout.log
   
   ````
   [INFO ] 10:31:31.945 [ShardingSphere-Command-7] ShardingSphere-SQL - Logic 
SQL: /* mysql-connector-java-5.1.47 ( Revision: 
fe1903b1ecb4a96a917f7ed3190d80c049b1de29 ) */SELECT  
@@session.auto_increment_increment AS auto_increment_increment, 
@@character_set_client AS character_set_client, @@character_set_connection AS 
character_set_connection, @@character_set_results AS character_set_results, 
@@character_set_server AS character_set_server, @@collation_server AS 
collation_server, @@collation_connection AS collation_connection, 
@@init_connect AS init_connect, @@interactive_timeout AS interactive_timeout, 
@@license AS license, @@lower_case_table_names AS lower_case_table_names, 
@@max_allowed_packet AS max_allowed_packet, @@net_buffer_length AS 
net_buffer_length, @@net_write_timeout AS net_write_timeout, @@query_cache_size 
AS query_cache_size, @@query_cache_type AS query_cache_type, @@sql_mode AS 
sql_mode, @@system_time_zone AS system_time_zone, @@time_zone AS time_zone, 
@@transaction_i
 solation AS transaction_isolation, @@wait_timeout AS wait_timeout
   [INFO ] 10:31:31.945 [ShardingSphere-Command-7] ShardingSphere-SQL - 
SQLStatement: 
SelectStatementContext(super=CommonSQLStatementContext(sqlStatement=org.apache.shardingsphere.sql.parser.sql.statement.dml.SelectStatement@3984fdad,
 tablesContext=TablesContext(tables=[])), 
tablesContext=TablesContext(tables=[]), 
projectionsContext=ProjectionsContext(startIndex=96, stopIndex=979, 
distinctRow=false, 
projections=[ExpressionProjection(expression=@@session.auto_increment_increment,
 alias=Optional[auto_increment_increment]), 
ExpressionProjection(expression=@@character_set_client, 
alias=Optional[character_set_client]), 
ExpressionProjection(expression=@@character_set_connection, 
alias=Optional[character_set_connection]), 
ExpressionProjection(expression=@@character_set_results, 
alias=Optional[character_set_results]), 
ExpressionProjection(expression=@@character_set_server, 
alias=Optional[character_set_server]), 
ExpressionProjection(expression=@@collation_server, 
alias=Optional[collation_serv
 er]), ExpressionProjection(expression=@@collation_connection, 
alias=Optional[collation_connection]), 
ExpressionProjection(expression=@@init_connect, alias=Optional[init_connect]), 
ExpressionProjection(expression=@@interactive_timeout, 
alias=Optional[interactive_timeout]), 
ExpressionProjection(expression=@@license, alias=Optional[license]), 
ExpressionProjection(expression=@@lower_case_table_names, 
alias=Optional[lower_case_table_names]), 
ExpressionProjection(expression=@@max_allowed_packet, 
alias=Optional[max_allowed_packet]), 
ExpressionProjection(expression=@@net_buffer_length, 
alias=Optional[net_buffer_length]), 
ExpressionProjection(expression=@@net_write_timeout, 
alias=Optional[net_write_timeout]), 
ExpressionProjection(expression=@@query_cache_size, 
alias=Optional[query_cache_size]), 
ExpressionProjection(expression=@@query_cache_type, 
alias=Optional[query_cache_type]), ExpressionProjection(expression=@@sql_mode, 
alias=Optional[sql_mode]), ExpressionProjection(expression=@@system_t
 ime_zone, alias=Optional[system_time_zone]), 
ExpressionProjection(expression=@@time_zone, alias=Optional[time_zone]), 
ExpressionProjection(expression=@@transaction_isolation, 
alias=Optional[transaction_isolation]), 
ExpressionProjection(expression=@@wait_timeout, 
alias=Optional[wait_timeout])]), 
groupByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.groupby.GroupByContext@54629533,
 
orderByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.orderby.OrderByContext@540f6334,
 
paginationContext=org.apache.shardingsphere.sql.parser.binder.segment.select.pagination.PaginationContext@7107bcab,
 containsSubquery=false)
   [INFO ] 10:31:31.946 [ShardingSphere-Command-7] ShardingSphere-SQL - Actual 
SQL: shadow_ds_0 ::: /* mysql-connector-java-5.1.47 ( Revision: 
fe1903b1ecb4a96a917f7ed3190d80c049b1de29 ) */SELECT  
@@session.auto_increment_increment AS auto_increment_increment, 
@@character_set_client AS character_set_client, @@character_set_connection AS 
character_set_connection, @@character_set_results AS character_set_results, 
@@character_set_server AS character_set_server, @@collation_server AS 
collation_server, @@collation_connection AS collation_connection, 
@@init_connect AS init_connect, @@interactive_timeout AS interactive_timeout, 
@@license AS license, @@lower_case_table_names AS lower_case_table_names, 
@@max_allowed_packet AS max_allowed_packet, @@net_buffer_length AS 
net_buffer_length, @@net_write_timeout AS net_write_timeout, @@query_cache_size 
AS query_cache_size, @@query_cache_type AS query_cache_type, @@sql_mode AS 
sql_mode, @@system_time_zone AS system_time_zone, @@time_zone AS time_zone
 , @@transaction_isolation AS transaction_isolation, @@wait_timeout AS 
wait_timeout
   [INFO ] 10:31:32.081 [epollEventLoopGroup-2-1] 
i.n.handler.logging.LoggingHandler - [id: 0x620413bf, L:/0.0.0.0:3307] READ: 
[id: 0x7df76895, L:/10.10.10.206:3307 - R:/10.10.11.243:63545]
   [INFO ] 10:31:32.081 [epollEventLoopGroup-2-1] 
i.n.handler.logging.LoggingHandler - [id: 0x620413bf, L:/0.0.0.0:3307] READ 
COMPLETE
   [INFO ] 10:31:32.130 [ShardingSphere-Command-3] ShardingSphere-SQL - Logic 
SQL: /* mysql-connector-java-5.1.47 ( Revision: 
fe1903b1ecb4a96a917f7ed3190d80c049b1de29 ) */SELECT  
@@session.auto_increment_increment AS auto_increment_increment, 
@@character_set_client AS character_set_client, @@character_set_connection AS 
character_set_connection, @@character_set_results AS character_set_results, 
@@character_set_server AS character_set_server, @@collation_server AS 
collation_server, @@collation_connection AS collation_connection, 
@@init_connect AS init_connect, @@interactive_timeout AS interactive_timeout, 
@@license AS license, @@lower_case_table_names AS lower_case_table_names, 
@@max_allowed_packet AS max_allowed_packet, @@net_buffer_length AS 
net_buffer_length, @@net_write_timeout AS net_write_timeout, @@query_cache_size 
AS query_cache_size, @@query_cache_type AS query_cache_type, @@sql_mode AS 
sql_mode, @@system_time_zone AS system_time_zone, @@time_zone AS time_zone, 
@@transaction_i
 solation AS transaction_isolation, @@wait_timeout AS wait_timeout
   [INFO ] 10:31:32.131 [ShardingSphere-Command-3] ShardingSphere-SQL - 
SQLStatement: 
SelectStatementContext(super=CommonSQLStatementContext(sqlStatement=org.apache.shardingsphere.sql.parser.sql.statement.dml.SelectStatement@4133a1be,
 tablesContext=TablesContext(tables=[])), 
tablesContext=TablesContext(tables=[]), 
projectionsContext=ProjectionsContext(startIndex=96, stopIndex=979, 
distinctRow=false, 
projections=[ExpressionProjection(expression=@@session.auto_increment_increment,
 alias=Optional[auto_increment_increment]), 
ExpressionProjection(expression=@@character_set_client, 
alias=Optional[character_set_client]), 
ExpressionProjection(expression=@@character_set_connection, 
alias=Optional[character_set_connection]), 
ExpressionProjection(expression=@@character_set_results, 
alias=Optional[character_set_results]), 
ExpressionProjection(expression=@@character_set_server, 
alias=Optional[character_set_server]), 
ExpressionProjection(expression=@@collation_server, 
alias=Optional[collation_serv
 er]), ExpressionProjection(expression=@@collation_connection, 
alias=Optional[collation_connection]), 
ExpressionProjection(expression=@@init_connect, alias=Optional[init_connect]), 
ExpressionProjection(expression=@@interactive_timeout, 
alias=Optional[interactive_timeout]), 
ExpressionProjection(expression=@@license, alias=Optional[license]), 
ExpressionProjection(expression=@@lower_case_table_names, 
alias=Optional[lower_case_table_names]), 
ExpressionProjection(expression=@@max_allowed_packet, 
alias=Optional[max_allowed_packet]), 
ExpressionProjection(expression=@@net_buffer_length, 
alias=Optional[net_buffer_length]), 
ExpressionProjection(expression=@@net_write_timeout, 
alias=Optional[net_write_timeout]), 
ExpressionProjection(expression=@@query_cache_size, 
alias=Optional[query_cache_size]), 
ExpressionProjection(expression=@@query_cache_type, 
alias=Optional[query_cache_type]), ExpressionProjection(expression=@@sql_mode, 
alias=Optional[sql_mode]), ExpressionProjection(expression=@@system_t
 ime_zone, alias=Optional[system_time_zone]), 
ExpressionProjection(expression=@@time_zone, alias=Optional[time_zone]), 
ExpressionProjection(expression=@@transaction_isolation, 
alias=Optional[transaction_isolation]), 
ExpressionProjection(expression=@@wait_timeout, 
alias=Optional[wait_timeout])]), 
groupByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.groupby.GroupByContext@6e49039f,
 
orderByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.orderby.OrderByContext@4b96700c,
 
paginationContext=org.apache.shardingsphere.sql.parser.binder.segment.select.pagination.PaginationContext@30dc5366,
 containsSubquery=false)
   [INFO ] 10:31:32.132 [ShardingSphere-Command-3] ShardingSphere-SQL - Actual 
SQL: shadow_ds_1 ::: /* mysql-connector-java-5.1.47 ( Revision: 
fe1903b1ecb4a96a917f7ed3190d80c049b1de29 ) */SELECT  
@@session.auto_increment_increment AS auto_increment_increment, 
@@character_set_client AS character_set_client, @@character_set_connection AS 
character_set_connection, @@character_set_results AS character_set_results, 
@@character_set_server AS character_set_server, @@collation_server AS 
collation_server, @@collation_connection AS collation_connection, 
@@init_connect AS init_connect, @@interactive_timeout AS interactive_timeout, 
@@license AS license, @@lower_case_table_names AS lower_case_table_names, 
@@max_allowed_packet AS max_allowed_packet, @@net_buffer_length AS 
net_buffer_length, @@net_write_timeout AS net_write_timeout, @@query_cache_size 
AS query_cache_size, @@query_cache_type AS query_cache_type, @@sql_mode AS 
sql_mode, @@system_time_zone AS system_time_zone, @@time_zone AS time_zone
 , @@transaction_isolation AS transaction_isolation, @@wait_timeout AS 
wait_timeout
   [INFO ] 10:31:32.183 [ShardingSphere-Command-6] ShardingSphere-SQL - Logic 
SQL: select @@session.transaction_read_only
   [INFO ] 10:31:32.183 [ShardingSphere-Command-6] ShardingSphere-SQL - 
SQLStatement: 
SelectStatementContext(super=CommonSQLStatementContext(sqlStatement=org.apache.shardingsphere.sql.parser.sql.statement.dml.SelectStatement@17bee019,
 tablesContext=TablesContext(tables=[])), 
tablesContext=TablesContext(tables=[]), 
projectionsContext=ProjectionsContext(startIndex=7, stopIndex=37, 
distinctRow=false, 
projections=[ExpressionProjection(expression=@@session.transaction_read_only, 
alias=Optional.empty)]), 
groupByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.groupby.GroupByContext@708105ff,
 
orderByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.orderby.OrderByContext@7e2a5544,
 
paginationContext=org.apache.shardingsphere.sql.parser.binder.segment.select.pagination.PaginationContext@431418b6,
 containsSubquery=false)
   [INFO ] 10:31:32.183 [ShardingSphere-Command-6] ShardingSphere-SQL - Actual 
SQL: shadow_ds_0 ::: select @@session.transaction_read_only
   [INFO ] 10:31:32.204 [ShardingSphere-Command-7] ShardingSphere-SQL - Logic 
SQL: insert into t_order(user_id,order_no,order_name,remark) 
values('1','123','book-master1','spy')
   [INFO ] 10:31:32.204 [ShardingSphere-Command-7] ShardingSphere-SQL - 
SQLStatement: 
InsertStatementContext(super=CommonSQLStatementContext(sqlStatement=org.apache.shardingsphere.sql.parser.sql.statement.dml.InsertStatement@5227408a,
 
tablesContext=TablesContext(tables=[SimpleTableSegment(tableName=TableNameSegment(startIndex=12,
 stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), 
owner=Optional.empty, alias=Optional.empty)])), 
tablesContext=TablesContext(tables=[SimpleTableSegment(tableName=TableNameSegment(startIndex=12,
 stopIndex=18, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), 
owner=Optional.empty, alias=Optional.empty)]), columnNames=[user_id, order_no, 
order_name, remark], insertValueContexts=[InsertValueContext(parametersCount=0, 
valueExpressions=[LiteralExpressionSegment(startIndex=63, stopIndex=65, 
literals=1), LiteralExpressionSegment(startIndex=67, stopIndex=71, 
literals=123), LiteralExpressionSegment(startIndex=73, stopIndex=
 86, literals=book-master1), LiteralExpressionSegment(startIndex=88, 
stopIndex=92, literals=spy)], parameters=[])], insertSelectContext=null, 
onDuplicateKeyUpdateValueContext=null, generatedKeyContext=Optional.empty)
   [INFO ] 10:31:32.205 [ShardingSphere-Command-7] ShardingSphere-SQL - Actual 
SQL: shadow_ds_0 ::: insert into t_order(user_id,order_no,order_name,remark) 
values('1', '123', 'book-master1', 'spy')
   [spy@mylab logs]$ 
   ````
   
   
   # problem
   you see , it go to `shadow_ds_0`, but  `it should go to ds_1`
    
   
   


----------------------------------------------------------------
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.

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


Reply via email to