[MDEV-8680] Wrong result for SELECT..WHERE a IN ('a' COLLATE latin1_bin,'b') AND a='a' Created: 2015-08-26  Updated: 2015-09-12  Resolved: 2015-08-29

Status: Closed
Project: MariaDB Server
Component/s: Optimizer
Affects Version/s: 5.5, 10.0, 10.1
Fix Version/s: 10.1.7

Type: Bug Priority: Major
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: propagation, upstream

Issue Links:
Blocks
blocks MDEV-8728 Fix a number of problems in equal fie... Closed
Relates
relates to MDEV-8698 Wrong result for SELECT..WHERE a BETW... Closed

 Description   

SET NAMES latin1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a VARCHAR(10));
INSERT INTO t1 VALUES ('a'),('A');
SELECT * FROM t1 WHERE a IN ('a' COLLATE latin1_bin,'b');
SELECT * FROM t1 WHERE a IN ('a' COLLATE latin1_bin,'b') AND a='a';

The first SELECT correctly returns one row.
The second SELECT erroneously returns two rows. One row is expected.

The problem happens in equal field propagation.


Generated at Thu Feb 08 07:28:58 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.