tristaZero edited a comment on issue #5357:
URL: https://github.com/apache/shardingsphere/issues/5357#issuecomment-631867252


   Hi @xiaoma20082008
   
   Thanks for your feedback. I tried the SQL `select 
max(order_id),min(order_id) from t_order` in the `master branch` and there is 
no exception, see this,
   ```
   [INFO ] 12:02:50.003 [ShardingSphere-Command-1] ShardingSphere-SQL - Logic 
SQL: show tables
   [INFO ] 12:02:50.003 [ShardingSphere-Command-1] ShardingSphere-SQL - 
SQLStatement: 
CommonSQLStatementContext(sqlStatement=org.apache.shardingsphere.sql.parser.sql.statement.dal.dialect.mysql.ShowTablesStatement@1977d221,
 tablesContext=TablesContext(tables=[]))
   [INFO ] 12:02:50.003 [ShardingSphere-Command-1] ShardingSphere-SQL - Actual 
SQL: ds_0 ::: show tables
   [INFO ] 12:02:50.118 [ShardingSphere-Command-2] ShardingSphere-SQL - Logic 
SQL: SHOW COLUMNS FROM t_order_item FROM sharding_db
   [INFO ] 12:02:50.118 [ShardingSphere-Command-2] ShardingSphere-SQL - 
SQLStatement: 
CommonSQLStatementContext(sqlStatement=org.apache.shardingsphere.sql.parser.sql.statement.dal.dialect.mysql.ShowColumnsStatement@6b8dfa7c,
 
tablesContext=TablesContext(tables=[SimpleTableSegment(tableName=TableNameSegment(startIndex=18,
 stopIndex=29, identifier=IdentifierValue(value=t_order_item, 
quoteCharacter=NONE)), owner=Optional.empty, alias=Optional.empty)]))
   [INFO ] 12:02:50.118 [ShardingSphere-Command-2] ShardingSphere-SQL - Actual 
SQL: ds_0 ::: SHOW COLUMNS FROM t_order_item_0 
   [INFO ] 12:02:50.358 [ShardingSphere-Command-3] ShardingSphere-SQL - Logic 
SQL: select max(order_id),min(order_id) from t_order
   [INFO ] 12:02:50.358 [ShardingSphere-Command-3] ShardingSphere-SQL - 
SQLStatement: 
SelectStatementContext(super=CommonSQLStatementContext(sqlStatement=org.apache.shardingsphere.sql.parser.sql.statement.dml.SelectStatement@18ddab5a,
 
tablesContext=TablesContext(tables=[SimpleTableSegment(tableName=TableNameSegment(startIndex=40,
 stopIndex=46, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), 
owner=Optional.empty, alias=Optional.empty)])), 
tablesContext=TablesContext(tables=[SimpleTableSegment(tableName=TableNameSegment(startIndex=40,
 stopIndex=46, identifier=IdentifierValue(value=t_order, quoteCharacter=NONE)), 
owner=Optional.empty, alias=Optional.empty)]), 
projectionsContext=ProjectionsContext(startIndex=7, stopIndex=33, 
distinctRow=false, projections=[AggregationProjection(type=MAX, 
innerExpression=(order_id), alias=Optional.empty, 
derivedAggregationProjections=[], index=-1), AggregationProjection(type=MIN, 
innerExpression=(order_id), alias=Optional.empty, 
derivedAggregationProjections=[], index=-1)]), 
groupByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.groupby.GroupByContext@6b5f856b,
 
orderByContext=org.apache.shardingsphere.sql.parser.binder.segment.select.orderby.OrderByContext@1dd18185,
 
paginationContext=org.apache.shardingsphere.sql.parser.binder.segment.select.pagination.PaginationContext@6532edb3,
 containsSubquery=false)
   [INFO ] 12:02:50.359 [ShardingSphere-Command-3] ShardingSphere-SQL - Actual 
SQL: ds_0 ::: select max(order_id),min(order_id) from t_order_0
   [INFO ] 12:02:50.359 [ShardingSphere-Command-3] ShardingSphere-SQL - Actual 
SQL: ds_0 ::: select max(order_id),min(order_id) from t_order_1
   [INFO ] 12:02:50.359 [ShardingSphere-Command-3] ShardingSphere-SQL - Actual 
SQL: ds_1 ::: select max(order_id),min(order_id) from t_order_0
   [INFO ] 12:02:50.359 [ShardingSphere-Command-3] ShardingSphere-SQL - Actual 
SQL: ds_1 ::: select max(order_id),min(order_id) from t_order_1
   ```
   My configuration is,
   ```yaml
   schemaName: sharding_db
   
   dataSources:
     ds_0:
       url: 
jdbc:mysql://127.0.0.1:3306/demo_ds_0?serverTimezone=UTC&useSSL=false
       username: root
       password:
       connectionTimeoutMilliseconds: 30000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 50
     ds_1:
       url: 
jdbc:mysql://127.0.0.1:3306/demo_ds_1?serverTimezone=UTC&useSSL=false
       username: root
       password:
       connectionTimeoutMilliseconds: 30000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 50
   
   rules:
   - !SHARDING
     tables:
       t_order:
         actualDataNodes: ds_${0..1}.t_order_${0..1}
         tableStrategy:
           standard:
             shardingColumn: order_id
             shardingAlgorithm:
               type: INLINE
               props:
                 algorithm.expression: t_order_${order_id % 2}
         keyGenerator:
           type: SNOWFLAKE
           column: order_id
       t_order_item:
         actualDataNodes: ds_${0..1}.t_order_item_${0..1}
         tableStrategy:
           standard:
             shardingColumn: order_id
             shardingAlgorithm:
               type: INLINE
               props:
                 algorithm.expression: t_order_item_${order_id % 2}
         keyGenerator:
           type: SNOWFLAKE
           column: order_item_id
     bindingTables:
       - t_order,t_order_item
     defaultDatabaseStrategy:
       standard:
         shardingColumn: user_id
         shardingAlgorithm:
           type: INLINE
           props:
             algorithm.expression: ds_${user_id % 2}
     defaultTableStrategy:
       none:
   ```
   
   **Could you try your SQL in the `master branch` or the latest release, i.e., 
`4.1.0`?**


----------------------------------------------------------------
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:
us...@infra.apache.org


Reply via email to