pingcap / tidb

TiDB - the open-source, cloud-native, distributed SQL database designed for modern applications.
https://pingcap.com
Apache License 2.0
37.28k stars 5.84k forks source link

executor, types: ON DUPLICATE UPDATE with bit convert to LittleEndian #40653

Open felixYing opened 1 year ago

felixYing commented 1 year ago

Bug Report

1. Minimal reproduce step (Required)

create table t (id bigint(20) NOT NULL AUTO_INCREMENT, test_bit bit(64) DEFAULT NULL, PRIMARY KEY(id));

insert into t(id,test_bit) values(1,x'AAFF');

insert into t(id,test_bit) values(1,x'AAFF') on duplicate key update test_bit=values(test_bit);

select hex(test_bit) from t;

2. What did you expect to see? (Required)

select hex(test_bit) from t; +------------------+ | hex(test_bit) | +------------------+ | AAFF000000000000 | +------------------+ 1 row in set (0.01 sec)

3. What did you see instead (Required)

select hex(test_bit) from t; +------------------+ | hex(test_bit) | +------------------+ | FFAA000000000000 | +------------------+ 1 row in set (0.01 sec)

4. What is your TiDB version? (Required)

version: release-5.0

+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tidb_version() | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Release Version: v5.0.0-414-g6ca79c09c3-dirty Edition: Community Git Commit Hash: 6ca79c09c34ecbda1a49a961c049b477eb8f6a65 UTC Build Time: 2023-01-10 08:47:50 GoVersion: go1.16.10 Race Enabled: false TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306 Check Table Before Drop: false | +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.77 sec)

felixYing commented 1 year ago

https://github.com/pingcap/tidb/pull/15350 @wshwsh12