pingcap / pingcap/tidb

unexpected query result using JSON

Open
#61,209 0 comments 0 reactions 0 assignees View on GitHub
fuzz/randomtest impact/wrong-result sig/sql-infra type/bug
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)

``` SQL
CREATE TABLE `tccc140df` (
`col_69` varchar(484) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`col_70` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `tccc140df` VALUES('@aL~*+%bt09*l','2025-05-20 17:21:45'),('L*3v#OPPK1NgqK','2010-01-12 00:00:00'),('2Q+Y','2010-01-12 00:00:00'),('L1_NuEURAOt14','2010-01-12 00:00:00'),('','2018-03-01 00:00:00'),('&OCt~oBK%x!H','2010-01-12 00:00:00'),('eY','2015-11-10 00:00:00'),('oZpjX','2026-11-29 00:00:00'),('@aL~*+%bt09*l','2025-05-20 17:21:45'),('MaZ$_UdR@K','2010-01-12 00:00:00'),('%','2010-01-12 00:00:00'),('j)Crkd0Jx!tiq','2028-04-03 00:00:00'),('@aL~*+%bt09*l','2025-05-20 17:21:45'),('kln','2010-01-12 00:00:00'),('@aL~*+%bt09*l','2025-05-20 17:21:45'),('n%C$22UR','2026-05-20 00:00:00'),('Uq-Gqa&HNMPUff-','2021-07-22 00:00:00'),('pR*l^JnD^=JvA_#0msJ','2010-01-12 00:00:00'),('GJpHK2!dd7iTuU0gLhE','2027-04-19 00:00:00'),('%','2017-03-10 00:00:00'),('','2013-04-21 00:00:00'),('%s(m%~^J','2015-09-03 00:00:00'),('7aTgXQC8V3Qj(fof','2030-11-19 00:00:00'),('$G0hw2ANSQWE7kON','2010-01-12 00:00:00'),('qL=tAVT3P6kFh3IlLQ0','2033-07-18 00:00:00'),('~0P(hY=5Cv-4v6Np','2013-12-31 00:00:00'),('',NULL),('Z~lRT','2030-08-19 00:00:00'),('S7ox!u3~','2010-01-12 00:00:00'),('AEnG4YG8thRh+dh','2024-01-26 00:00:00');

CREATE TABLE `td7c06386` (
`col_27` json DEFAULT NULL,
`col_28` tinyint NOT NULL DEFAULT '-115',
`col_29` binary(18) DEFAULT 'J\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
`col_30` float NOT NULL,
`col_31` varchar(283) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'vss)ei',
`col_32` tinyint(1) NOT NULL DEFAULT '1',
`col_33` json NOT NULL,
UNIQUE KEY `idx_14` (`col_29`(3),(cast(`col_27` as signed array)),`col_31`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `td7c06386` VALUES('[7076607772727560356, 7167360286758916649, 6215716071053411233, 3527984997330421663]',29,x'64794e6c6e734869526b5700000000000000',7.2339315,'s0@OETXTViYfvK2',0,'[8036963106962833685, 6568557870727041905, 8994321048340828728, 7832533236272171286]'),('[1663668435483702309, 8532861036622593806, 7569874591404180705, 6525824446375143038, 7841169084945234996]',29,x'6a556f325a65000000000000000000000000',7.2339315,'Je',1,'[716502390868115235, 2628148251496769761, 5849280219670329148]'),('[1704867506491360494, 3095139317022083919]',29,x'4964292b0000000000000000000000000000',7.2339315,'HI18z)7l7(yJPsg#H_L',0,'[2906929340099781633, 7901606630102118893, 2726049721908565599, 8354747985606436935]'),('[4759131331310093020, 3774979952586273979, 6538286867247364561]',29,x'303669284a4f410000000000000000000000',7.2339315,'2w2p3qBAVW7qT',0,'[7029024991748069107, 5858359108213694662, 4729680806192783146, 5059136000488386703]'),('[8307945985042101765, 6324993999245759335]',29,x'71667e400000000000000000000000000000',7.2339315,'NH7',0,'[3921596209117814937, 837076644648699933]'),('[5197911394712223651]',29,x'4b4f53366e3567214e7e4050355500000000',7.2339315,'zh',0,'[3659819126072185411, -9223372036854775807, 5643772395723901807]'),('[150471412937064559]',29,x'5a30724f4c6e3557232b4636000000000000',4286.4653,'4y',1,'[2253772577711836709, 2096350412310168302, 5664458810879010712, 4509860268165634623, 4090291216393807032]'),('[6391601339892746070, 3042596086832816600, 4886632563200655140]',29,x'6a5972322923515e332b0000000000000000',7384.6675,'r(JHI4L',0,'[7432694687072288880, 9223372036854775807, 7376503853515539899]'),('[-1, 1848422461444444517, 5840269359696297284, -9223372036854775808]',29,x'4b4b6a38543d6c306c310000000000000000',6334.927,'PIV3@E7_7&R0$$PF014',1,'[6540205447251174254, 5170748502387358599, 4344215771108420854]'),(NULL,29,x'35642179246f4c6f5130324c214e00000000',4355.0977,'r_y!#aKKZ~',0,'[-9223372036854775808, 9223372036854775807]'),('[2751491257367076034, 8455322169626538261, 1022089518667721894, 1360446778112638287]',29,x'304d5a77694f230000000000000000000000',3033.6821,'-Q+T7',0,'[5519871199699685602, 1172641559715573026]'),('[475645194349824564, 8550688470289002625, 2372223699887512102]',29,x'000000000000000000000000000000000000',9939.589,'Sa4',1,'[4952074951975562391, 7808120380533978358, 5048470157523563388, 8841215621904049752, 845247183762554784]'),('[5166685567794364005]',29,x'4a4348676e00000000000000000000000000',9142.435,'whrqrd29OxE!',0,'[6155122178582502744, 6847244938017161479, 7320629747413008091, 5224398069658503494, 1263420543970667336]'),('[7369281739638438152, 6785006497242875361]',29,NULL,9891.164,'%',0,'[329371313983545037, 2994997150971259729, 6037118663861216268]'),('[8336690628885865090, 6789799990251634755, 2849531989938171874, 8508430958812947402, 1783614271964250858]',-103,x'49726f25594941264e000000000000000000',6017.1934,'#k3go-T1',1,'[4261727704984441384, 2131523914923333854, 1635901683164793320]'),('[7034468522126832307, 3406870002195203390, 1141401022570061665]',-24,x'704f5f000000000000000000000000000000',578.4852,'+$IT~YjItg03t($$UU^',1,'[8311911804151271871, 8499701989344212988, -1, 3726166609874018556, 1484529552871707367]'),('[1150596447037189411, 2407534394954758420]',-47,x'734643312638396d5547372b000000000000',3314.745,'=8oKk~#*4(^xZ',0,'[1]'),('[8096438467372579708, 2804772713528834028, 4221992330952068304, 6244656215663064693, 8520987569543438997]',-124,x'6c67386639454859622975784c2b00000000',2889.547,'4gqphA97fi@Ctn3Sb',1,'[2220110425280982931, 4766938545320911674, 3481822949524997150, 1663141708353511597, 4628799979140703687]'),('[3494785099168894621, 5214018485380408728, 6439772273815812016, -1, 675610707675054002]',-87,x'5445214c6756496c00000000000000000000',6944.513,'R*jfq4%0eb',0,'[7239007224401858776]'),('[8518395469367242660, 38623732525875419, 3589010910977934466]',-83,x'40536f3d0000000000000000000000000000',9161.796,'6=N',1,'[3707179247883892998, -9223372036854775808, 7016727361894921660, 63165966908178634]'),('[4696583433221199841, 4382148898179491888, 1688954990474339150, 1920099264686211934, 217349531560737168]',19,x'4556213835527e3966516147000000000000',8571.426,'TWX',0,'[307619018616174652]'),('[2598730514743053475, 5022203854374590643, 3227634997950101533, 4841351123132645171, 6000397553175335645]',127,x'444a2a4a6c79000000000000000000000000',1833.268,'oQcbe&=JS!a12e',0,'[7507542051262393862, 8866246304336960745, 9223372036854775807, 5201455618579955544]'),('[556415520923886373, 1726934192834283682, 6237338771501855408, 766385168911350544]',-6,x'7e6c2a52254d7542752d0000000000000000',3043.6619,'_hM!X4w4K',0,'[4887963732906984536, 858186151320423704, 11283216578071558, 0, 590648571299757294]'),('[777218874964921963]',-31,x'2d4800000000000000000000000000000000',3100.7273,'f7H9iPj',0,'[8227989693986565150, 2, 8211605435687034789]'),('[1125678117766307637, 2616811462680124385, 6967870620212397854]',-2,x'5940555841446d62333d5e40380000000000',8764.294,'E5%i1A*Qk=zJ4HN~=%',0,'[3955782343866116932, 4560872978012265196, 6532318253646914669]'),('[5157994780213473887]',58,x'53684c4b3170646f6d680000000000000000',5531.044,'vegkhc=Oga1ee1MwRB',1,'[53388165441696769, 8904446263518806515, 3680190748140011839, 6670255247633483815, 7095705928621597799]'),('[2828643202207566129, 1621033223155412477, 1805014807329973968]',-97,x'39336129454c43256f2d6c426a2841576e00',7920.983,'^(#0J^',1,'[7306358288110389828, 859197293307261555, 5575257743845270546, 2394120448754798596]'),('[1384012953742982754, 2947325532971048317, 4925217513105514339, 7040190206842180156, 1351707314467911462]',7,x'755545476d5a656800000000000000000000',2022.0994,'sVX4y&b51iGRylg',0,'[5210603680353025701]'),('[6485637934943165872]',65,x'334f4355704b453675577370000000000000',2413.4734,'1qWrV_J1qau',0,'[1530439358015547075, 928434345776122106, 5825886484004908396, 5307976169769178134, 7133531617782467106]'),('[3453712676700669407]',24,x'524628232600000000000000000000000000',895.5667,'Dn8_MUoUBUsDpd',0,'[7708563360578332801, 5272812733775705166]'),('[816597067855574317, 1210750107649392566]',79,x'244541332438000000000000000000000000',2175.5293,'oxHVFC#d*s3lI',1,'[7310316781653606975]');

SELECT col_27 FROM `td7c06386` JOIN `tccc140df` ON ((`td7c06386`.`col_28`=`tccc140df`.`col_69` OR NOT `td7c06386`.`col_28`=`tccc140df`.`col_69` OR `td7c06386`.`col_28`=`tccc140df`.`col_69` IS NULL) AND `td7c06386`.`col_28`=`tccc140df`.`col_69`) WHERE CASE WHEN (`td7c06386`.`col_27` OR NOT `td7c06386`.`col_27` OR `td7c06386`.`col_27` IS NULL) THEN `td7c06386`.`col_27`<=>'[1150596447037189411,2407534394954758420]' ELSE 1 END;

SELECT col_27 FROM `td7c06386` JOIN `tccc140df` ON `td7c06386`.`col_28`=`tccc140df`.`col_69` WHERE `td7c06386`.`col_27`<=>'[1150596447037189411,2407534394954758420]';

```

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

Two queries should return the same result.
### 3. What did you see instead (Required)
``` SQL

mysql> SELECT col_27 FROM `td7c06386` JOIN `tccc140df` ON ((`td7c06386`.`col_28`=`tccc140df`.`col_69` OR NOT `td7c06386`.`col_28`=`tccc140df`.`col_69` OR `td7c06386`.`col_28`=`tccc140df`.`col_69` IS NULL) AND `td7c06386`.`col_28`=`tccc140df`.`col_69`) WHERE CASE WHEN (`td7c06386`.`col_27` OR NOT `td7c06386`.`col_27` OR `td7c06386`.`col_27` IS NULL) THEN `td7c06386`.`col_27`<=>'[1150596447037189411,2407534394954758420]' ELSE 1 END;
+-----------------------------------------------------------------------------------------------------------+
| col_27 |
+-----------------------------------------------------------------------------------------------------------+
| [1384012953742982754, 2947325532971048317, 4925217513105514339, 7040190206842180156, 1351707314467911462] |
+-----------------------------------------------------------------------------------------------------------+
1 row in set, 59 warnings (0.00 sec)

mysql> SELECT col_27 FROM `td7c06386` JOIN `tccc140df` ON `td7c06386`.`col_28`=`tccc140df`.`col_69` WHERE `td7c06386`.`col_27`<=>'[1150596447037189411,2407534394954758420]';
Empty set, 27 warnings (0.00 sec)
```
### 4. What is your TiDB version? (Required)
78c20a04ac04275b299512a93c0381d08fb85d71

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.