1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-30 11:22:14 +03:00
Files
mariadb/sql
Sergei Petrunia ba4927e520 MDEV-19398: Assertion `item1->type() == Item::FIELD_ITEM ...
Window Functions code tries to minimize the number of times it
needs to sort the select's resultset by finding "compatible"
OVER (PARTITION BY ... ORDER BY ...) clauses.

This employs compare_order_elements(). That function assumed that
the order expressions are Item_field-derived objects (that refer
to a temp.table). But this is not always the case: one can
construct queries order expressions are arbitrary item expressions.

Add handling for such expressions: sort them according to the window
specification they appeared in.
This means we cannot detect that two compatible PARTITION BY clauses
that use expressions can share the sorting step.
But at least we won't crash.
2022-05-04 15:47:45 +03:00
..
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2020-08-02 11:05:29 +02:00
2019-05-11 22:19:05 +03:00
2022-03-23 10:47:27 +11:00
2019-05-11 19:15:57 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2020-09-03 09:10:03 +03:00
2019-05-13 17:54:04 +03:00
2020-08-02 11:05:29 +02:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2020-07-22 23:18:12 +02:00
2019-05-11 21:29:06 +03:00
2019-05-11 21:29:06 +03:00
2020-08-02 11:05:29 +02:00
2019-05-11 22:19:05 +03:00
2020-08-02 11:05:29 +02:00
2020-07-14 15:10:59 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2020-08-02 11:05:29 +02:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2020-08-02 11:05:29 +02:00
2020-08-02 11:05:29 +02:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2020-08-02 11:05:29 +02:00
2020-08-02 11:05:29 +02:00
2019-07-26 07:03:39 +02:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2020-08-02 11:05:29 +02:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-06-12 22:54:46 +02:00
2019-06-12 22:54:46 +02:00
2020-07-02 06:05:13 +03:00
2019-05-11 21:29:06 +03:00
2021-09-24 16:21:20 +03:00
2020-09-03 09:10:03 +03:00
2020-05-26 13:01:34 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-06-25 13:21:36 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 22:19:05 +03:00
2020-09-03 09:10:03 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2020-06-01 09:33:03 +03:00
2020-06-01 09:33:03 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2020-01-17 00:24:17 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2020-07-14 15:10:59 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-06-12 10:30:01 +03:00
2019-06-12 10:30:01 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-06-23 20:33:13 +03:00
2019-05-13 17:54:04 +03:00
2020-05-19 10:42:59 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 19:25:02 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-28 15:56:24 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2019-06-25 13:21:36 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 19:25:02 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 19:25:02 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2021-10-22 11:08:36 +03:00
2019-05-11 19:25:02 +03:00
2019-05-11 19:25:02 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-10 20:52:00 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2021-02-22 19:27:12 +01:00
2020-09-03 09:10:03 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 21:29:06 +03:00
2021-03-30 16:16:24 +11:00
2019-05-13 17:54:04 +03:00
2020-06-05 18:32:37 +02:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2020-06-11 22:35:30 +03:00
2020-06-12 10:55:53 +03:00
2020-07-15 09:49:48 +02:00
2019-05-10 20:52:00 +03:00
2019-05-11 22:19:05 +03:00
2019-05-13 17:54:04 +03:00
2020-06-05 18:32:37 +02:00
2019-05-11 19:25:02 +03:00
2019-05-13 17:54:04 +03:00
2021-09-24 16:21:20 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00