Skip to content

Router result is not accurate when condition is "between ... and " #477

@yanhuqing666

Description

@yanhuqing666

for example:
now the router result is that:

mysql> explain select * from sharding_four_node where id between 0 and 2;
+-----------+----------+---------------------------------------------------------------------+
| DATA_NODE | TYPE     | SQL/REF                                                             |
+-----------+----------+---------------------------------------------------------------------+
| dn1       | BASE SQL | SELECT * FROM sharding_four_node WHERE id BETWEEN 0 AND 2 LIMIT 100 |
| dn2       | BASE SQL | SELECT * FROM sharding_four_node WHERE id BETWEEN 0 AND 2 LIMIT 100 |
| dn3       | BASE SQL | SELECT * FROM sharding_four_node WHERE id BETWEEN 0 AND 2 LIMIT 100 |
| dn4       | BASE SQL | SELECT * FROM sharding_four_node WHERE id BETWEEN 0 AND 2 LIMIT 100 |
+-----------+----------+---------------------------------------------------------------------+

but we expected is

+-----------+----------+---------------------------------------------------------------------+
| DATA_NODE | TYPE     | SQL/REF                                                             |
+-----------+----------+---------------------------------------------------------------------+
| dn1       | BASE SQL | SELECT * FROM sharding_four_node WHERE id BETWEEN 0 AND 2 LIMIT 100 |
| dn2       | BASE SQL | SELECT * FROM sharding_four_node WHERE id BETWEEN 0 AND 2 LIMIT 100 |
| dn3       | BASE SQL | SELECT * FROM sharding_four_node WHERE id BETWEEN 0 AND 2 LIMIT 100 |
+-----------+----------+---------------------------------------------------------------------+
3 rows in set (0.00 sec)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions