Skip to content

sharding value is an hextype,dble will report error or route to wrong node #1926

@yanhuqing666

Description

@yanhuqing666
  • **dble version:any version,use develop version as example **
  • preconditions :
    You must konw,In MySQL
mysql> SELECT x'4D7953514
+---------------+
| x'4D7953514C' |
+---------------+
| MySQL         |
+---------------+
1 row in set (0.12 sec)
  • configs:

sharding.xml

<schema name="testdb" >
<shardingTable name="tb_jump_hash" shardingNode="dn1,dn2" function="func_jumpHash" shardingColumn="code"/>
</schema>

<!-- jumpStringHash partition for string-->
<function name="func_jumpHash" class="jumpStringHash">
	<property name="partitionCount">2</property>
	<property name="hashSlice">0:2</property>
</function>

  • steps:
    step1.
drop table if exists tb_jump_hash;
create table if not exists tb_jump_hash (
  id int not null,
  code varchar(250) not null,
  content varchar(250) not null,
  primary key(id)
)engine=innodb charset=utf8;

step2.

insert into tb_jump_hash values (12,x'4D7953514C','MySQL');

step3.

insert into tb_jump_hash values (13,'MySQL','MySQL');
  • expect result:
    1.step2 success and route to current node
  • real result:
    1.ERROR 1064 (HY000): Not Supported of Sharding Value EXPR :0x4D7953514C
  • supplements:
    1.

Metadata

Metadata

Assignees

Labels

resolveproblem has been fixed by developer

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions