1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-30 05:23:50 +03:00
Files
mariadb/mysql-test/r
Sergei Petrunia eb20c91b55 MDEV-25969: Condition pushdown into derived table doesn't work if select list uses SP
Consider a query of the form:

  select ... from (select item2 as COL1) as T where COL1=123

Condition pushdown into derived table will try to push "COL1=123" condition
down into table T.
The process of pushdown involves "substituting" the item, that is,
replacing Item_field("T.COL1") with its "producing item" item2.
In order to use item2, one needs to clone it (call Item::build_clone).

If the item is not cloneable (e.g. Item_func_sp is not), the pushdown
process will fail and nothing at all will be pushed.

Fixed by introducing transform_condition_or_part() which will try to apply
the transformation for as many parts of condition as possible. The parts of
condition that couldn't be transformed are dropped.
2021-06-30 13:52:23 +03:00
..
2018-11-15 19:21:40 +01:00
2021-03-12 07:02:29 +11:00
2018-11-06 08:41:48 +02:00
2019-05-04 17:04:55 +02:00
2019-05-04 17:04:55 +02:00
2018-11-06 08:41:48 +02:00
2018-08-21 15:20:34 +03:00
2020-10-23 15:53:41 +02:00
2019-05-04 17:04:55 +02:00
2019-09-23 08:26:08 +03:00
2018-06-21 23:47:39 +02:00
2020-04-14 16:13:35 +03:00
2019-09-18 16:24:48 +03:00
2019-08-20 09:15:28 +03:00
2021-01-24 11:35:55 +01:00
2018-06-21 23:47:39 +02:00
2019-03-04 16:46:58 +02:00
2018-11-06 08:41:48 +02:00
2019-05-04 17:04:55 +02:00
2020-10-21 14:02:04 +03:00
2018-11-06 08:41:48 +02:00
2019-06-12 22:54:46 +02:00
2020-08-10 17:57:14 +03:00
2020-07-01 12:03:55 +03:00
2019-04-25 09:04:09 +03:00
2019-09-23 08:26:08 +03:00
2020-10-23 15:53:41 +02:00
2020-10-21 14:02:04 +03:00
2019-07-20 09:09:28 +02:00
2019-10-25 12:57:36 +03:00
2019-03-26 17:38:54 +02:00
2019-07-25 13:27:11 +02:00
2020-04-14 16:13:35 +03:00
2018-12-30 18:30:29 +01:00
2018-08-02 08:19:57 +03:00
2019-07-01 13:15:20 +03:00
2019-02-03 17:22:05 +02:00
2019-02-03 17:22:05 +02:00
2019-03-15 21:00:41 +01:00
2019-10-11 18:38:18 +03:00
2019-03-01 12:41:05 -05:00
2019-03-01 12:41:05 -05:00
2020-09-22 15:21:43 +03:00
2019-10-25 12:57:36 +03:00
2019-10-25 12:57:36 +03:00
2019-05-04 17:04:55 +02:00
2019-03-29 10:58:20 +01:00
2020-08-13 07:38:35 +03:00
2020-08-13 07:38:35 +03:00
2019-12-23 07:14:51 +02:00
2020-05-13 11:12:31 +03:00
2020-12-10 08:45:20 +01:00
2021-05-08 18:02:34 +02:00