haj8888888 commented on issue #2391: After using the sharding-proxy sub-table 
to sub-table, use the PageHelper plug-in to query one-to-many data, and the 
number of returned records is incorrect.
URL: 
https://github.com/apache/incubator-shardingsphere/issues/2391#issuecomment-492941042
 
 
   > 1. Also please show me the **desc table** to all your actual tables.
   desc table
   `CREATE TABLE `t_order` (
     `order_id` bigint(20) NOT NULL AUTO_INCREMENT,
     `user_id` int(11) NOT NULL,
     `STATUS` varchar(50) DEFAULT NULL,
     PRIMARY KEY (`order_id`)
   )`
   `CREATE TABLE `t_order_item` (
     `order_item_id` bigint(20) NOT NULL AUTO_INCREMENT,
     `order_id` bigint(20) DEFAULT NULL,
     `user_id` int(11) NOT NULL,
     `STATUS` varchar(50) DEFAULT NULL,
     PRIMARY KEY (`order_item_id`)
   )`
   table Rule:
   
![image](https://user-images.githubusercontent.com/15724396/57832275-d7049d80-77e9-11e9-8972-80588eacaa67.png)
   
   > 2. The result of select * from all your actual tables.
   
![image](https://user-images.githubusercontent.com/15724396/57831911-f818be80-77e8-11e9-9630-2ea84e8e5f68.png)
   
   > 3. Open **server.yaml** in conf directory of sharding-proxy and set 
**sql.show: true**, this will log actual SQLs to actual databases.
   Already open
   SQL INFO:
   `[INFO ] 14:53:12.800 [ShardingSphere-Command-7] ShardingSphere-SQL - Rule 
Type: sharding
   [INFO ] 14:53:12.801 [ShardingSphere-Command-7] ShardingSphere-SQL - Logic 
SQL: SELECT
           t.*,
           ti.order_item_id as a_order_item_id,
           ti.order_id as a_order_id,
           ti.user_id as a_user_id,
           ti.`status` as a_status
       FROM
           t_order t
       LEFT JOIN t_order_item ti ON t.order_id = ti.order_id
       LIMIT ?,?
   [INFO ] 14:53:12.801 [ShardingSphere-Command-7] ShardingSphere-SQL - 
SQLStatement: 
SelectStatement(super=DQLStatement(super=AbstractSQLStatement(type=DQL, 
tables=Tables(tables=[Table(name=t_order, alias=Optional.of(t)), 
Table(name=t_order_item, alias=Optional.of(ti))]), 
routeConditions=Conditions(orCondition=OrCondition(andConditions=[])), 
encryptConditions=Conditions(orCondition=OrCondition(andConditions=[])), 
sqlTokens=[TableToken(tableName=t_order, quoteCharacter=NONE, 
schemaNameLength=0), TableToken(tableName=t_order_item, quoteCharacter=NONE, 
schemaNameLength=0)], parametersIndex=2, logicSQL=SELECT
           t.*,
           ti.order_item_id as a_order_item_id,
           ti.order_id as a_order_id,
           ti.user_id as a_user_id,
           ti.`status` as a_status
       FROM
           t_order t
       LEFT JOIN t_order_item ti ON t.order_id = ti.order_id
       LIMIT ?,?)), containStar=true, firstSelectItemStartIndex=15, 
selectListStopIndex=163, groupByLastIndex=0, 
items=[StarSelectItem(owner=Optional.of(t)), 
CommonSelectItem(expression=ti.order_item_id, 
alias=Optional.of(a_order_item_id)), CommonSelectItem(expression=ti.order_id, 
alias=Optional.of(a_order_id)), CommonSelectItem(expression=ti.user_id, 
alias=Optional.of(a_user_id)), CommonSelectItem(expression=ti.status, 
alias=Optional.of(a_status))], groupByItems=[], orderByItems=[], 
limit=Limit(offset=LimitValue(value=-1, index=0, boundOpened=false), 
rowCount=LimitValue(value=-1, index=1, boundOpened=false)), 
subqueryStatement=null, subqueryStatements=[], subqueryConditions=[])
   [INFO ] 14:53:12.801 [ShardingSphere-Command-7] ShardingSphere-SQL - Actual 
SQL: ds_0 ::: SELECT
           t.*,
           ti.order_item_id as a_order_item_id,
           ti.order_id as a_order_id,
           ti.user_id as a_user_id,
           ti.`status` as a_status
       FROM
           t_order_0 t
       LEFT JOIN t_order_item_0 ti ON t.order_id = ti.order_id
       LIMIT ?,? ::: [0, 2]
   [INFO ] 14:53:12.801 [ShardingSphere-Command-7] ShardingSphere-SQL - Actual 
SQL: ds_0 ::: SELECT
           t.*,
           ti.order_item_id as a_order_item_id,
           ti.order_id as a_order_id,
           ti.user_id as a_user_id,
           ti.`status` as a_status
       FROM
           t_order_1 t
       LEFT JOIN t_order_item_1 ti ON t.order_id = ti.order_id
       LIMIT ?,? ::: [0, 2]
   [INFO ] 14:53:12.801 [ShardingSphere-Command-7] ShardingSphere-SQL - Actual 
SQL: ds_1 ::: SELECT
           t.*,
           ti.order_item_id as a_order_item_id,
           ti.order_id as a_order_id,
           ti.user_id as a_user_id,
           ti.`status` as a_status
       FROM
           t_order_0 t
       LEFT JOIN t_order_item_0 ti ON t.order_id = ti.order_id
       LIMIT ?,? ::: [0, 2]
   [INFO ] 14:53:12.801 [ShardingSphere-Command-7] ShardingSphere-SQL - Actual 
SQL: ds_1 ::: SELECT
           t.*,
           ti.order_item_id as a_order_item_id,
           ti.order_id as a_order_id,
           ti.user_id as a_user_id,
           ti.`status` as a_status
       FROM
           t_order_1 t
       LEFT JOIN t_order_item_1 ti ON t.order_id = ti.order_id
       LIMIT ?,? ::: [0, 2]
   `
   
   

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


With regards,
Apache Git Services

Reply via email to