sql hit error:ERROR 1105 (HY000): other error: [components/tidb_query_expr/src/impl_compare_in.rs:68]: Unexpected ExprType MysqlBit and EvalType Int
- Dominant language
- Go
- Stars
- 40.5k
- Forks
- 6.2k
- PR merge metrics
- PR metrics pending
Description
## Bug Report
Please answer these questions before submitting your issue. Thanks!
### 1. Minimal reproduce step (Required)
CREATE TABLE `mysql_1` (
`col_int_auto_increment` int(10) AUTO_INCREMENT,
`col_pk_char` char(60) not null,
`col_pk_varchar` varchar(60) not null,
`col_pk_date` date not null,
`col_int` int,
`col_int__1` int,
`col_int_8` int(8),
`col_int_8__1` int(8),
`col_bigint` bigint,
`col_smallint` smallint,
`col_tinyint` tinyint,
`col_float` float,
`col_double` double,
`col_numeric` numeric,
`col_bit` bit,
`col_bit__1` bit,
`col_enum` enum ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'),
`col_set` set ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'),
`col_char_3` char(3),
`col_char_255` char(255),
`col_varchar_1` varchar(1),
`col_varchar_64` varchar(64),
`col_varchar_2048` varchar(2048),
`col_binary_8` binary(8),
`col_varbinary_8` varbinary(8),
`col_date` date,
`col_time` time,
`col_datetime` datetime,
`col_timestamp` timestamp ,
`col_year` year,
`col_text` text,
`col_bool` bool,
`col_boolean` boolean,
`col_longtext` longtext,
`col_mediumtext` mediumtext,
`col_tinyblob` tinyblob,
`col_mediumblob` mediumblob,
`col_longblob` longblob,
`col_blob` blob,
/*Indices*/
KEY `prefix_index2` (`col_char_255`(10)),
KEY `prefix_index1` (`col_text`(15)),
KEY `functional_index2` (`col_datetime`,`col_date`),
KEY `functional_index1` (`col_enum`,`col_year`,`col_int`),
KEY k2 (`col_int`,`col_char_255`),
KEY k1 (`col_pk_varchar`),
primary key (`col_int_auto_increment`,`col_pk_varchar`,`col_datetime`,`col_int`,`col_date`)) ;
INSERT /*! IGNORE */ INTO mysql_1 (col_pk_char,col_pk_varchar,col_pk_date,col_int,col_int__1,col_int_8,col_int_8__1,col_bigint,col_smallint,col_tinyint,col_float,col_double,col_numeric,col_bit,col_bit__1,col_enum,col_set,col_char_3,col_char_255,col_varchar_1,col_varchar_64,col_varchar_2048,col_binary_8,col_varbinary_8,col_date,col_time,col_datetime,col_timestamp,col_year,col_text,col_bool,col_boolean,col_longtext,col_mediumtext,col_tinyblob,col_mediumblob,col_longblob,col_blob) VALUES ('highlight', 'merely', '2012-03-06 15:44:55.029257', 8, NULL, NULL, 887881728, b'1', NULL, NULL, -6.59210205078125e+80, 48440, 54665, 23709, -793378816, 'd', 'engish', NULL, 'str_p63_r17', NULL, 'z', 'l', 'rvyvgxruropjidryoiueseftvshdvnwleyuqacbpsmqpwusqkvgjrdcktqtyhlkfjphdhpxfrprwalycopsnnorwiixjrykcccqnsyeweamexclfjuyrtyilmaylylpgiqeeadrvqmsfaayhedemauywzabsjuwwcdtcvwgmayflbhzqxkpokkeflrjahxqbtnmsyqcdjaqqfbsgjbiznbekxioyvdrinwifofskgpirtdrxrpvessgyfzxgx', '-4.17327880859375e+80', '2024-05-22', '1989', '2006-05-10 00:00:00', '1989-12-04', NULL, 'h', -1453064192, 37204, '2007-04-12 01:14:53.050660', 'vyvgxruropjidryoiueseftvshdvnwleyuqacbpsmqpwusqkvgjrdcktqtyhlkfjphdhp', '2025-12-26 21:24:29.058743', 'j', NULL, NULL) ;
select * from mysql_1 t1 where t1.col_pk_date != '1992-03-09' and t1.col_varchar_1 in (select col_pk_varchar from mysql_1 t2 where t2.col_varchar_2048 IN ( SELECT col_binary_8 FROM ( SELECT DISTINCT a2.* FROM mysql_1 a2 WHERE a2.col_int_8 IN ( t2.col_int_8, t2.col_bit__1 ) ) mm ) ) /* QNO 45993 CON_ID 123732418 */ ;
### 2. What did you expect to see? (Required)
result from mysql:
MySQL [test1]> select * from mysql_1 t1 where t1.col_pk_date != '1992-03-09' and t1.col_varchar_1 in (select col_pk_varchar from mysql_1 t2 where t2.col_varchar_2048 IN ( SELECT col_binary_8 FROM ( SELECT DISTINCT a2.* FROM mysql_1 a2 WHERE a2.col_int_8 IN ( t2.col_int_8, t2.col_bit__1 ) ) mm ) ) /* QNO 45993 CON_ID 123732418 */ ;Empty set (0.03 sec)
### 3. What did you see instead (Required)
results from tidb:
mysql> select * from mysql_1 t1 where t1.col_pk_date != '1992-03-09' and t1.col_varchar_1 in (select col_pk_varchar from mysql_1 t2 where t2.col_varchar_2048 IN ( SELECT col_binary_8 FROM ( SELECT DISTINCT a2.* FROM mysql_1 a2 WHERE a2.col_int_8 IN ( t2.col_int_8, t2.col_bit__1 ) ) mm ) ) /* QNO 45993 CON_ID 123732418 */ ; ERROR 1105 (HY000): other error: [components/tidb_query_expr/src/impl_compare_in.rs:68]: Unexpected ExprType MysqlBit and EvalType Int
### 4. What is your TiDB version? (Required)
mysql> select tidb_version();+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| tidb_version() |+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Release Version: v8.5.1
Edition: Community
Git Commit Hash: fea86c8e35ad4a86a5e1160701f99493c2ee547c
Git Branch: HEAD
UTC Build Time: 2025-01-16 07:38:34
GoVersion: go1.23.4
Race Enabled: false
Check Table Before Drop: false
Store: tikv |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Contributor guide
Assessment
This issue has not been assessed yet.