Sergei Petrunia
a52362b90c
MDEV-36389 Incorrect query results for an indexed text column
...
Fixes a scenario where an IN subquery returned the wrong result
because the pushed WHERE clause was not retained for downstream
result filtering. For example:
CREATE TABLE t1 (c1 TEXT, UNIQUE (c1(1)));
INSERT INTO t1 (c1) VALUES ('a');
SELECT 'abc' IN (SELECT c1 FROM t1);
Internally, he 'abc' IN subquery condition becomes the constant
condition:
'abc' = t1.c1 or t1.c1 is null
Prior to this patch, this condition was incorrectly removed when
converting the subquery engine to an index lookup-based engine.
Now eligible conditions are preserved during such engine rewrites.
2025-07-23 15:24:12 -04:00
..
2025-06-05 11:07:18 +10:00
2025-05-21 07:36:35 +03:00
2024-11-23 08:14:22 -07:00
2023-09-04 09:36:44 +04:00
2023-07-17 14:56:17 +04:00
2023-07-17 14:56:17 +04:00
2023-11-23 11:52:38 +11:00
2025-02-10 22:06:49 +02:00
2024-08-12 09:32:30 +01:00
2024-10-29 15:24:38 +01:00
2024-10-29 15:24:38 +01:00
2023-10-19 17:24:30 +03:00
2023-10-19 17:24:30 +03:00
2025-06-17 09:50:22 +02:00
2024-11-29 12:37:46 +02:00
2024-01-19 09:07:48 +02:00
2023-12-21 02:14:59 +01:00
2023-07-07 15:15:24 +07:00
2024-04-30 23:09:02 +10:00
2024-04-30 23:09:02 +10:00
2024-12-02 11:35:34 +02:00
2024-06-24 13:09:47 +03:00
2024-06-20 11:32:13 -04:00
2023-06-27 17:43:31 +03:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2024-10-29 14:20:03 +01:00
2024-10-30 15:11:17 +01:00
2023-08-22 13:42:42 +04:00
2025-01-30 12:01:11 +01:00
2025-04-17 10:01:53 +04:00
2025-01-30 12:01:11 +01:00
2024-12-02 11:35:34 +02:00
2025-04-26 10:53:02 +02:00
2023-12-21 02:14:59 +01:00
2024-05-30 16:04:00 +03:00
2024-06-20 11:32:13 -04:00
2024-10-15 15:36:12 +11:00
2024-01-27 12:09:54 +01:00
2024-01-27 12:09:54 +01:00
2024-10-03 13:45:26 +03:00
2025-06-17 09:50:22 +02:00
2025-01-30 12:01:11 +01:00
2025-03-28 13:55:21 +02:00
2025-02-27 04:02:33 +01:00
2025-04-04 08:58:40 +02:00
2025-06-17 09:50:22 +02:00
2025-06-17 09:50:22 +02:00
2024-11-29 13:43:17 +02:00
2024-12-05 11:01:42 +01:00
2025-04-26 10:53:02 +02:00
2024-12-02 11:35:34 +02:00
2024-12-05 10:11:58 +01:00
2025-05-26 12:02:04 +02:00
2025-04-26 10:53:02 +02:00
2025-03-27 08:01:47 +02:00
2024-10-29 15:24:38 +01:00
2025-07-05 10:47:44 +10:00
2024-10-29 16:42:46 +01:00
2024-07-16 15:54:22 +08:00
2024-07-16 15:54:22 +08:00
2025-03-31 22:28:52 +02:00
2025-01-30 12:01:11 +01:00
2025-04-26 10:53:02 +02:00
2025-04-26 10:47:03 +02:00
2025-01-10 13:14:42 +01:00
2025-01-10 13:14:42 +01:00
2025-04-16 12:55:49 +04:00
2024-10-29 16:42:46 +01:00
2024-10-08 11:58:46 +02:00
2024-10-29 15:24:38 +01:00
2024-07-22 15:14:50 +02:00
2025-04-18 14:54:48 +04:00
2024-07-22 15:14:50 +02:00
2025-06-27 20:55:22 +07:00
2025-04-26 10:53:02 +02:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2025-07-05 10:47:44 +10:00
2024-12-02 11:35:34 +02:00
2025-07-05 10:47:44 +10:00
2024-10-03 10:55:08 +03:00
2024-11-29 13:43:17 +02:00
2024-11-23 08:14:22 -07:00
2024-07-08 22:40:16 +02:00
2023-07-17 14:56:17 +04:00
2024-06-17 12:02:03 +03:00
2024-06-17 15:46:39 +04:00
2025-04-26 10:53:02 +02:00
2024-05-21 19:38:51 +02:00
2023-11-14 18:33:03 +01:00
2023-08-29 14:19:38 +04:00
2025-04-26 10:53:02 +02:00
2025-01-09 07:58:08 +02:00
2024-01-16 18:53:23 +04:00
2025-01-30 12:01:11 +01:00
2025-01-30 12:01:11 +01:00
2025-01-30 12:01:11 +01:00
2023-10-03 08:25:31 +03:00
2025-04-26 10:53:02 +02:00
2025-04-26 10:53:02 +02:00
2024-11-29 13:43:17 +02:00
2024-07-09 21:45:37 +04:00
2024-09-18 07:38:49 +03:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2023-11-08 16:23:30 +01:00
2023-11-08 14:50:43 +01:00
2024-11-29 12:37:46 +02:00
2024-05-30 16:04:00 +03:00
2025-04-15 18:58:32 +02:00
2025-05-26 12:02:50 +02:00
2025-06-17 09:50:22 +02:00
2025-03-28 13:55:21 +02:00
2025-03-28 13:55:21 +02:00
2024-05-21 19:38:51 +02:00
2025-02-10 22:06:49 +02:00
2023-10-14 13:36:11 +03:00
2023-10-14 13:36:11 +03:00
2025-06-17 09:50:22 +02:00
2025-03-03 11:07:56 +02:00
2024-01-26 06:37:37 +04:00
2024-01-26 06:37:37 +04:00
2023-09-12 17:14:43 +03:00
2025-07-23 11:07:22 +03:00
2025-07-23 15:24:12 -04:00
2023-05-09 13:09:00 +03:00
2024-10-30 15:11:17 +01:00
2024-06-27 10:26:09 +03:00
2025-04-27 22:16:17 -04:00
2024-12-02 11:35:34 +02:00
2024-06-24 13:09:47 +03:00
2024-11-29 13:43:17 +02:00
2023-07-27 19:43:45 +03:00
2024-02-03 11:22:21 +01:00
2024-03-09 00:40:03 +01:00
2024-07-16 15:54:22 +08:00
2025-04-11 23:57:47 +10:00
2025-04-11 23:57:47 +10:00
2024-12-02 11:35:34 +02:00
2024-06-24 13:09:47 +03:00
2024-02-04 22:19:19 +01:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-11-29 13:43:17 +02:00
2024-07-22 15:14:50 +02:00
2025-01-30 12:01:11 +01:00
2024-07-09 21:45:37 +04:00
2025-04-11 13:42:12 +02:00
2025-04-26 10:53:02 +02:00
2025-04-26 10:53:02 +02:00
2025-04-26 10:53:02 +02:00
2024-12-03 15:05:32 +01:00
2024-01-30 02:48:03 +01:00
2023-08-15 10:16:13 +02:00
2025-01-30 12:01:11 +01:00
2024-05-21 19:38:51 +02:00
2023-10-26 20:45:35 +02:00
2023-08-15 10:16:13 +02:00
2023-11-02 13:18:50 +07:00
2023-11-02 13:18:50 +07:00
2024-10-29 15:24:38 +01:00
2024-03-05 20:19:49 +02:00
2025-04-26 10:53:02 +02:00
2024-10-21 15:35:54 -06:00
2025-04-23 17:20:47 -06:00
2025-04-23 17:20:47 -06:00
2025-01-29 11:17:38 +01:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-12-05 11:01:42 +01:00
2025-03-31 18:37:06 +02:00
2023-07-17 14:56:17 +04:00
2025-04-26 10:53:02 +02:00
2023-05-02 10:09:27 +02:00
2024-01-23 13:03:11 +02:00
2024-01-23 13:03:11 +02:00
2024-12-02 11:35:34 +02:00
2025-03-28 13:55:21 +02:00
2025-01-30 11:55:13 +01:00
2025-07-02 17:50:24 +07:00
2025-07-02 17:50:24 +07:00
2025-02-09 13:56:19 +04:00
2025-02-09 13:56:19 +04:00
2023-07-20 17:46:45 +07:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-06-24 13:09:47 +03:00
2024-12-05 09:20:36 +01:00
2025-06-17 09:50:22 +02:00
2025-01-14 23:45:41 +01:00
2025-05-21 07:36:35 +03:00
2024-06-24 13:09:47 +03:00
2025-01-30 12:01:11 +01:00
2025-01-30 12:01:11 +01:00
2024-11-29 12:37:46 +02:00
2024-11-29 12:37:46 +02:00
2023-07-26 15:13:06 +03:00
2025-02-10 22:06:49 +02:00
2024-11-29 13:43:17 +02:00
2025-06-17 09:50:22 +02:00
2025-04-26 10:53:02 +02:00
2024-01-18 19:22:23 +02:00
2024-04-23 14:12:31 +03:00
2025-04-26 10:53:02 +02:00
2024-12-02 11:35:34 +02:00
2025-06-17 09:50:22 +02:00
2025-07-02 17:50:24 +07:00
2025-04-14 12:56:39 -04:00
2024-12-02 11:35:34 +02:00
2024-10-03 13:24:43 +03:00
2025-01-09 07:58:08 +02:00
2024-01-11 12:59:22 +11:00
2024-01-10 18:01:46 +11:00
2024-06-24 13:09:47 +03:00
2025-03-03 11:07:56 +02:00
2025-03-03 11:07:56 +02:00
2025-04-14 12:56:39 -04:00
2025-04-14 12:56:39 -04:00
2024-08-03 09:32:42 +02:00
2024-10-17 21:37:37 +02:00
2025-03-31 15:37:10 +02:00
2024-08-21 09:30:54 +02:00
2025-04-15 14:36:02 -04:00
2024-08-03 09:32:42 +02:00
2024-02-14 16:12:53 +02:00
2024-06-20 11:32:13 -04:00
2024-06-27 10:26:09 +03:00
2025-01-09 07:58:08 +02:00
2024-10-30 15:11:17 +01:00
2024-11-29 12:37:46 +02:00
2025-04-26 10:53:02 +02:00
2025-04-26 10:47:03 +02:00
2024-10-29 16:42:46 +01:00
2024-06-24 13:09:47 +03:00
2025-07-02 17:50:24 +07:00
2025-07-02 17:50:24 +07:00
2024-11-23 08:14:22 -07:00
2023-05-23 12:25:39 +03:00
2024-11-29 13:43:17 +02:00
2025-01-30 12:01:11 +01:00
2024-06-17 15:46:39 +04:00
2025-04-16 12:55:49 +04:00
2024-04-15 18:54:30 +02:00
2025-04-26 10:53:02 +02:00
2025-07-05 10:47:44 +10:00
2025-01-30 11:55:13 +01:00
2024-07-03 12:45:30 +02:00
2025-01-30 12:01:11 +01:00
2023-08-04 08:01:06 +02:00
2025-01-30 11:55:13 +01:00
2025-01-30 12:01:11 +01:00
2024-12-30 16:13:20 +02:00
2025-06-17 09:50:22 +02:00
2023-11-05 23:35:31 +04:00
2025-02-10 21:14:01 +02:00
2023-12-17 11:20:43 +01:00
2023-12-17 11:20:43 +01:00
2025-04-26 10:53:02 +02:00
2025-02-02 04:54:42 +01:00
2025-01-30 12:01:11 +01:00
2024-07-10 18:50:08 +03:00
2024-06-20 11:32:13 -04:00
2023-12-02 01:02:50 +01:00
2025-06-17 09:50:22 +02:00
2025-02-10 22:06:49 +02:00
2024-10-16 17:24:46 +03:00
2023-09-27 08:54:26 +02:00
2025-01-30 12:01:11 +01:00
2025-06-17 09:50:22 +02:00
2024-06-20 11:32:13 -04:00
2024-06-20 11:32:13 -04:00
2024-12-02 11:35:34 +02:00
2025-06-17 09:50:22 +02:00
2024-08-29 07:47:29 +03:00
2024-03-28 10:51:36 +02:00
2025-04-26 10:53:02 +02:00
2025-06-28 01:13:10 +02:00
2024-10-29 15:24:38 +01:00
2024-06-17 15:46:39 +04:00
2024-06-17 15:46:39 +04:00
2023-09-30 14:43:12 +02:00
2025-03-03 11:07:56 +02:00
2025-01-30 12:01:11 +01:00
2025-03-27 08:01:47 +02:00
2024-06-20 11:32:13 -04:00
2024-08-03 09:32:42 +02:00
2023-09-25 13:06:57 +10:00
2024-12-02 11:35:34 +02:00
2023-10-14 13:36:11 +03:00
2024-01-18 19:22:23 +02:00
2023-08-01 15:08:52 +02:00
2023-07-04 16:37:29 +02:00
2024-01-26 06:37:37 +04:00
2025-01-27 16:33:09 +04:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-11-23 08:14:23 -07:00
2025-06-17 09:50:22 +02:00
2025-07-23 00:06:52 +02:00
2025-04-14 12:56:39 -04:00
2023-07-17 14:56:17 +04:00
2025-04-26 10:53:02 +02:00
2025-01-09 07:58:08 +02:00
2024-06-20 11:32:13 -04:00
2025-06-17 09:50:22 +02:00
2025-03-28 13:55:21 +02:00
2024-06-20 11:32:13 -04:00
2025-06-17 09:50:22 +02:00
2024-12-02 11:35:34 +02:00
2025-04-29 15:05:20 +04:00
2024-01-10 18:01:46 +11:00
2025-06-17 09:50:22 +02:00
2025-04-26 10:53:02 +02:00
2024-06-17 12:02:03 +03:00
2023-12-02 01:02:50 +01:00
2024-11-05 21:32:48 +01:00
2025-05-20 17:27:05 +03:00
2024-06-20 11:32:13 -04:00
2024-03-19 11:57:38 +01:00
2024-06-24 13:09:47 +03:00
2025-01-14 23:45:41 +01:00
2025-06-17 09:50:22 +02:00
2024-02-15 13:53:21 +01:00
2025-05-21 09:47:55 +02:00
2024-12-02 11:35:34 +02:00
2024-12-02 11:35:34 +02:00
2024-05-21 19:38:51 +02:00
2024-05-21 19:38:51 +02:00
2025-04-26 10:53:02 +02:00
2024-02-21 13:08:23 +02:00
2025-04-02 04:50:30 +02:00
2024-09-01 02:58:27 +02:00
2023-11-21 15:43:20 +01:00
2025-04-02 10:15:08 +03:00
2024-06-20 11:32:13 -04:00
2024-06-20 11:32:13 -04:00
2024-01-02 17:37:58 +02:00
2025-04-02 10:15:08 +03:00
2024-06-20 11:32:13 -04:00
2024-06-27 10:26:09 +03:00
2025-06-17 09:50:22 +02:00
2025-05-26 08:10:47 +03:00
2024-05-10 20:02:18 +02:00
2023-09-29 12:54:04 +02:00
2024-01-03 15:55:17 +02:00
2023-08-08 03:25:56 +02:00
2025-05-21 07:36:35 +03:00
2025-01-30 11:55:13 +01:00
2025-04-02 04:43:24 +02:00
2024-09-01 02:48:19 +02:00
2024-10-03 13:24:43 +03:00
2024-09-09 13:50:38 +03:00
2025-04-02 10:15:08 +03:00
2024-06-20 11:32:13 -04:00
2025-01-29 11:17:38 +01:00
2025-04-02 04:50:11 +02:00
2025-03-27 08:01:47 +02:00
2024-10-29 15:24:38 +01:00
2023-10-14 13:36:11 +03:00
2025-03-03 11:07:56 +02:00
2025-03-03 11:07:56 +02:00
2025-02-18 19:30:04 +01:00
2025-02-18 19:30:04 +01:00
2024-12-02 11:35:34 +02:00
2024-10-16 13:23:47 +02:00