1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-30 05:23:50 +03:00
Files
mariadb/mysql-test/t
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
2018-11-06 08:41:48 +02:00
2018-11-06 08:41:48 +02:00
2020-09-22 15:21:43 +03:00
2020-06-06 18:07:04 +03:00
2020-06-06 18:07:04 +03:00
2020-06-06 18:07:04 +03:00
2019-03-27 12:26:11 +02:00
2019-03-27 12:26:11 +02:00
2020-01-03 12:40:38 +01:00
2018-11-06 08:41:48 +02:00
2020-01-03 12:40:38 +01:00
2020-10-23 15:53:41 +02:00
2019-04-27 11:28:50 +02:00
2019-05-04 17:04:55 +02:00
2020-04-01 10:24:36 +03:00
2019-03-27 12:26:11 +02:00
2021-01-24 11:35:55 +01:00
2020-10-21 14:02:04 +03:00
2019-03-04 16:46:58 +02:00
2018-11-06 08:41:48 +02:00
2020-10-21 14:02:04 +03:00
2019-04-24 11:15:38 +02:00
2019-04-25 09:04:09 +03:00
2019-03-15 21:00:41 +01:00
2019-09-23 08:26:08 +03:00
2020-10-23 15:53:41 +02:00
2019-10-11 18:38:18 +03:00
2019-07-20 09:09:28 +02:00
2020-04-14 16:13:35 +03:00
2018-12-30 18:30:29 +01:00
2019-02-03 17:22:05 +02:00
2021-01-11 21:54:47 +01:00
2019-03-01 12:41:05 -05:00
2019-02-02 13:00:15 +02: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
2020-08-02 11:05:29 +02:00
2019-12-23 07:14:51 +02:00
2020-08-10 17:57:14 +03:00
2020-05-13 11:12:31 +03:00
2020-12-10 08:45:20 +01:00
2019-05-04 17:04:55 +02:00
2021-05-08 18:02:34 +02:00