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
..
2022-03-16 09:37:45 +11: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
2021-12-07 20:29:25 +01: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
2021-01-11 21:54:47 +01: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
2021-04-20 23:19:25 +03:00
2021-04-21 11:21:57 +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
2019-05-11 22:19:05 +03:00
2021-04-20 23:19:25 +03:00
2019-05-11 21:29:06 +03:00
2021-06-15 12:35:57 +10: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
2022-04-26 18:36:36 +04:00
2022-04-26 18:36:36 +04:00
2020-07-14 15:10:59 +03:00
2019-05-13 17:54:04 +03:00
2021-08-05 23:48:02 +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
2020-08-02 11:05:29 +02:00
2019-05-13 17:54:04 +03:00
2019-07-23 15:23:27 +03:00
2019-05-13 17:54:04 +03:00
2021-04-22 15:51:55 +02: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 21:29:06 +03:00
2022-04-08 16:49:10 +09:00
2022-03-30 15:57:08 +03:00
2022-03-30 15:57:08 +03:00
2022-03-30 15:57:08 +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
2021-11-08 08:16:48 +04:00
2020-12-19 11:44:42 +01:00
2021-06-29 16:15:24 +03:00
2021-06-29 16:15:24 +03:00
2022-04-26 18:36:36 +04:00
2019-11-19 16:28:15 +03:00
2021-03-27 21:02:19 +01:00
2021-03-27 10:42:39 +01:00
2020-08-02 11:05:29 +02:00
2019-05-13 17:54:04 +03:00
2021-10-19 11:00:56 +04:00
2020-06-22 15:43:53 +04:00
2020-03-20 09:36:25 -07:00
2019-05-13 17:54:04 +03:00
2022-01-27 21:44:45 +02:00
2022-01-20 19:01:36 +11:00
2022-04-26 15:21:21 +03:00
2021-04-12 20:16:57 +07:00
2022-04-26 18:36:36 +04:00
2020-08-02 11:05:29 +02:00
2021-10-25 17:30:03 +02:00
2020-10-23 15:53:41 +02:00
2022-02-07 21:43:42 +03:00
2020-07-28 06:35:32 +02:00
2020-08-02 11:05:29 +02:00
2019-07-26 07:03:39 +02:00
2022-04-14 15:43:35 +02:00
2022-04-19 17:10:05 +02:00
2021-07-12 22:00:40 +03:00
2019-05-13 17:54:04 +03:00
2019-10-14 19:16:50 +03:00
2019-10-14 19:16:50 +03:00
2019-05-11 21:29:06 +03:00
2021-06-29 16:15:24 +03:00
2020-08-02 11:05:29 +02:00
2019-05-11 22:19:05 +03:00
2020-08-31 18:45:14 +03:00
2019-05-11 22:19:05 +03:00
2022-01-27 12:28:01 +02:00
2021-04-30 20:34:31 +05:30
2019-05-13 17:54:04 +03:00
2022-01-22 09:14:26 +02:00
2021-10-18 10:43:51 -06:00
2019-05-11 21:29:06 +03:00
2021-01-18 08:09:06 +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
2020-11-02 14:19:21 +02:00
2021-04-17 17:44:41 +10:00
2019-05-13 17:54:04 +03:00
2019-05-11 19:15:57 +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
2020-10-29 09:27:56 +01: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
2021-12-07 17:46:29 +01:00
2019-05-11 21:29:06 +03:00
2022-03-08 15:13:09 +11:00
2021-09-24 16:21:20 +03:00
2020-09-03 09:10:03 +03:00
2019-05-11 19:15:57 +03:00
2020-05-26 13:01:34 +03:00
2021-12-23 19:12:58 -08:00
2020-05-27 15:56:40 +02:00
2020-09-23 12:27:56 +03:00
2019-09-27 10:43:23 +03:00
2021-03-18 09:54:49 -07: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
2022-01-25 12:58:17 +04:00
2022-01-25 12:58:17 +04:00
2022-01-25 12:58:17 +04: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
2022-01-11 17:46:51 +01:00
2019-05-13 17:54:04 +03:00
2022-02-10 15:48:06 +01:00
2020-08-05 11:28:32 +05:30
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
2021-09-06 08:47:58 +10:00
2022-04-25 16:00:35 +03:00
2019-05-11 22:19:05 +03:00
2019-05-11 22:19:05 +03:00
2020-11-30 22:21:43 +02:00
2019-05-11 22:19:05 +03:00
2021-10-18 10:43:51 -06:00
2021-10-18 10:43:51 -06:00
2021-05-14 11:49:46 +01:00
2021-05-14 11:49:46 +01:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-09-30 12:49:53 +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
2021-05-17 09:39:43 +10:00
2020-05-26 18:49:43 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2019-08-27 13:05:04 +05:30
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-10-27 16:44:11 +04:00
2020-06-01 09:33:03 +03:00
2020-06-01 09:33:03 +03:00
2021-04-15 04:03:40 +10:00
2022-04-28 13:21:04 +02:00
2019-05-13 17:54:04 +03:00
2022-04-21 09:51:11 +04:00
2019-05-11 21:29:06 +03:00
2022-04-25 21:23:00 +02: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
2021-06-28 11:53:33 +04:00
2021-03-27 10:42:39 +01:00
2021-10-15 19:19:36 +03:00
2020-09-24 13:58:29 +10:00
2021-07-12 22:00:40 +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-12-21 13:46:33 +04:00
2022-04-14 21:45:20 +02:00
2021-07-16 13:31:19 +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
2020-12-10 08:45:20 +01:00
2020-12-10 08:45:20 +01:00
2019-05-11 21:29:06 +03:00
2022-04-21 09:51:11 +04:00
2022-04-21 09:51:11 +04:00
2019-05-11 22:19:05 +03:00
2020-09-24 13:58:29 +10:00
2021-01-11 21:54:47 +01: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
2021-11-16 18:56:43 -08:00
2021-07-21 08:29:31 -07: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
2021-05-30 17:31:55 +07:00
2019-05-11 22:19:05 +03:00
2021-06-30 13:52:23 +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
2021-10-08 19:17:06 +03:00
2022-04-28 11:20:12 +03:00
2022-04-28 11:20:12 +03:00
2019-05-11 19:25:02 +03:00
2019-05-11 19:25:02 +03:00
2022-04-26 12:40:11 +05:30
2019-05-11 21:29:06 +03:00
2020-12-15 13:00:24 +05:30
2019-05-11 21:29:06 +03:00
2019-05-13 17:54:04 +03:00
2021-10-26 14:33:07 +02:00
2019-05-11 22:19:05 +03:00
2021-03-22 22:04:54 -07:00
2021-03-10 17:28:40 -08:00
2022-04-19 17:10:05 +02:00
2021-12-28 16:59:29 +05:30
2019-05-10 20:52:00 +03:00
2019-05-13 17:54:04 +03:00
2019-10-14 16:37:41 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2022-01-21 16:02:34 +01:00
2019-05-13 17:54:04 +03:00
2021-01-24 11:35:55 +01:00
2021-01-24 11:35:55 +01:00
2019-09-03 05:34:53 +04:00
2019-09-03 05:34:53 +04:00
2022-05-04 15:47:45 +03:00
2021-02-25 14:36:09 +07:00
2019-09-30 12:49:53 +03:00
2019-05-11 22:19:05 +03:00
2020-05-26 11:43:43 +03:00
2019-05-13 17:54:04 +03:00
2019-05-14 15:23:09 +03:00
2019-05-11 21:29:06 +03:00
2022-01-17 16:41:51 +01:00
2022-04-14 17:12:30 +04:00
2021-01-11 21:54:47 +01:00
2022-01-10 09:12:17 -08: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
2021-10-18 10:43:51 -06:00
2021-01-21 13:00:02 +05:30
2022-04-25 21:22:59 +02:00
2021-01-08 16:04:29 +10:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2022-04-21 09:51:11 +04: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
2021-02-16 11:53:13 +05:30
2021-10-27 10:50:15 +04:00
2020-09-03 09:10:03 +03:00
2022-04-26 19:18:06 +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
2021-03-30 16:16:24 +11:00
2019-05-13 17:54:04 +03:00
2020-08-11 15:58:16 +03:00
2020-07-31 17:38:41 +10:00
2020-06-05 18:32:37 +02:00
2019-05-13 17:54:04 +03:00
2021-09-06 18:12:45 +05:30
2019-05-11 22:19:05 +03:00
2020-03-20 15:24:06 +04:00
2022-04-26 18:36:36 +04:00
2020-12-10 08:45:20 +01:00
2021-04-27 18:21:01 +02:00
2020-10-19 15:15:04 +02:00
2021-07-20 11:26:33 -07:00
2019-05-11 21:29:06 +03:00
2021-07-16 13:31:19 +03:00
2019-05-11 21:29:06 +03:00
2022-01-22 12:46:06 +07:00
2019-05-13 17:54:04 +03:00
2022-05-04 15:47:45 +03:00
2022-05-04 15:47:45 +03:00
2022-04-25 21:23:00 +02:00
2019-05-13 17:54:04 +03:00
2019-05-11 22:19:05 +03:00
2022-04-06 15:28:34 +03:00
2019-05-13 17:54:04 +03:00
2022-03-08 15:13:09 +11:00
2022-01-17 16:41:51 +01:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2022-04-25 09:30:42 -07:00
2021-07-12 22:00:40 +03:00
2022-03-25 10:49:48 +02:00
2019-05-13 17:54:04 +03:00
2019-05-13 17:54:04 +03:00
2020-10-03 00:24:53 +02:00
2021-10-28 09:59:24 +02:00
2019-09-09 13:52:30 +02:00
2019-05-13 17:54:04 +03:00
2021-07-02 11:15:35 +03:00
2019-05-13 17:54:04 +03:00
2019-05-11 21:29:06 +03:00
2022-04-23 14:20:22 +10: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
2022-03-17 13:05:03 +04:00
2020-11-02 14:19:21 +02:00
2021-04-22 15:51:55 +02:00
2020-07-15 09:49:48 +02:00
2019-05-10 20:52:00 +03:00
2020-11-30 22:21:43 +02:00
2019-05-11 22:19:05 +03:00
2020-03-31 09:59:37 +03:00
2020-03-31 09:59:37 +03:00
2019-05-13 17:54:04 +03:00
2021-03-08 11:15:08 +01:00
2020-06-05 18:32:37 +02:00
2019-05-11 19:25:02 +03:00
2022-01-11 09:43:59 +02:00
2020-10-06 13:51:06 +03:00
2021-02-18 12:16:11 +01:00
2019-05-13 17:54:04 +03:00
2021-06-23 08:11:05 +03:00
2020-08-25 15:23:29 +03:00
2022-01-11 09:43:59 +02:00
2021-09-24 16:21:20 +03:00
2020-08-25 12:12:44 +03:00
2020-08-25 12:12:44 +03:00
2020-10-06 13:51: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