Igor Babaev
78b5e8d6ca
Fixed bug mdev-11745.
...
Due to this bug many queries that contained a window function
with MIN/MAX aggregation returned wrong results.
Calculation of a MIN/MAX aggregate function uses cache objects
and a comparator object that are created and set up in
Item_sum_hybrid::fix_fields () by a call of Item_sum_hybrid::setup_hybrid().
The latter binds the objects to the first argument of the
MIN/MAX function. Meanwhile window function perform aggregation
over fields of a temporary table. So binding must be done rather to
these fields. The earliest moment when setup the objects used in
MIN/max functions can be done is after all calls of the method
split_sum_func().
This patch introduces this late setup, but only for aggregate
functions used in window functions.
Probably it makes sense to use this late setup for all MIN/MAX
objects.
2017-02-09 19:34:01 -08:00
..
2016-05-04 15:23:26 +02:00
2017-01-10 14:39:28 +02:00
2016-03-31 10:11:16 +04:00
2016-02-03 00:17:55 +03:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-12-21 22:40:52 +02:00
2016-01-27 16:34:05 +01:00
2016-02-01 17:51:57 +01:00
2016-03-31 10:11:16 +04:00
2016-04-22 16:04:20 +04:00
2016-06-28 22:01:55 +02:00
2016-03-31 10:11:16 +04:00
2016-04-19 11:27:00 +02:00
2016-05-04 15:23:26 +02:00
2017-01-12 16:37:58 +04:00
2016-06-04 09:06:00 +02:00
2016-07-02 14:52:23 +02:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-01-27 21:17:23 +01:00
2016-02-07 10:34:03 +02:00
2016-05-08 23:04:41 +03:00
2016-03-31 10:11:16 +04:00
2016-06-30 11:43:02 +02:00
2016-05-20 09:46:03 +02:00
2016-10-09 01:20:17 +02:00
2016-10-05 01:11:07 +03:00
2016-12-29 13:23:49 +01:00
2016-11-02 13:44:07 +01:00
2016-03-08 16:55:17 +02:00
2016-12-29 13:23:18 +01:00
2016-02-17 14:30:25 -08:00
2017-01-18 21:03:01 -08:00
2017-01-30 17:57:02 +01:00
2016-09-06 12:50:02 +04:00
2016-04-02 00:04:47 +04:00
2016-09-06 12:50:02 +04:00
2016-03-31 11:04:48 +04:00
2016-03-31 10:11:16 +04:00
2016-09-06 12:50:02 +04:00
2016-09-06 12:50:02 +04:00
2015-12-21 21:24:22 +01:00
2016-09-06 12:50:02 +04:00
2016-05-08 23:04:41 +03:00
2016-09-06 12:50:02 +04:00
2016-09-06 12:50:02 +04:00
2016-09-03 09:05:56 +04:00
2016-11-08 20:57:19 +04:00
2016-06-30 16:38:05 +02:00
2016-09-06 12:50:02 +04:00
2016-06-10 15:50:19 +04:00
2016-09-06 12:50:02 +04:00
2016-09-06 12:50:02 +04:00
2016-09-06 12:50:02 +04:00
2016-05-26 16:45:50 +07:00
2016-06-30 16:38:05 +02:00
2016-09-23 14:19:07 +04:00
2016-10-08 13:06:15 +04:00
2016-09-06 12:50:02 +04:00
2016-09-23 14:19:07 +04:00
2017-02-08 06:47:39 +04:00
2016-09-02 13:22:28 +03:00
2016-09-23 14:19:07 +04:00
2017-02-08 06:47:39 +04:00
2016-09-23 14:19:07 +04:00
2016-09-06 12:50:02 +04:00
2016-09-06 12:50:02 +04:00
2016-09-23 14:19:07 +04:00
2016-12-29 13:23:18 +01:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-12-21 13:18:45 +04:00
2016-08-27 16:59:12 +02:00
2017-01-23 22:25:29 +04:00
2016-05-08 23:04:41 +03:00
2017-01-24 13:12:20 -08:00
2016-12-29 13:23:18 +01:00
2016-12-11 09:53:42 +01:00
2016-10-27 00:04:26 +04:00
2016-12-12 20:27:23 +01:00
2016-09-15 22:02:32 +03:00
2016-06-28 22:01:55 +02:00
2016-05-04 15:23:26 +02:00
2016-03-31 10:11:16 +04:00
2016-02-28 18:18:29 +03:00
2015-12-10 13:36:58 +01:00
2016-10-05 01:11:07 +03:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-04-26 12:58:14 +02:00
2016-12-03 22:03:38 +01:00
2016-05-24 14:18:46 +04:00
2016-12-29 13:23:18 +01:00
2016-12-29 13:23:18 +01:00
2016-12-20 00:42:46 -08:00
2016-06-30 11:43:02 +02:00
2016-04-24 18:15:20 +02:00
2016-12-29 13:23:18 +01:00
2016-04-24 18:15:20 +02:00
2016-06-30 16:38:05 +02:00
2016-06-01 14:29:20 +04:00
2016-09-21 09:13:33 +04:00
2016-03-18 17:50:18 +04:00
2016-06-28 22:01:55 +02:00
2017-02-10 01:05:27 +04:00
2016-12-12 20:44:46 +01:00
2016-09-09 08:33:08 +02:00
2016-09-09 08:33:08 +02:00
2016-09-22 10:03:12 +04:00
2016-06-30 11:43:02 +02:00
2016-12-11 09:53:42 +01:00
2016-12-12 20:27:22 +01:00
2016-12-12 20:35:51 +01:00
2017-01-24 02:29:04 +04:00
2016-12-12 20:27:23 +01:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-04-24 18:15:20 +02:00
2016-06-30 11:43:02 +02:00
2016-06-08 14:17:23 +03:00
2016-12-11 09:53:42 +01:00
2016-12-29 13:23:18 +01:00
2016-08-25 09:50:04 +03:00
2016-09-28 21:12:48 +02:00
2016-06-28 22:01:55 +02:00
2016-09-21 10:03:16 +02:00
2016-12-29 13:23:49 +01:00
2016-03-04 02:09:37 +02:00
2016-12-29 13:23:49 +01:00
2016-02-22 12:48:03 +01:00
2016-07-25 01:57:00 +03:00
2016-12-29 13:23:49 +01:00
2016-09-15 21:56:01 +03:00
2016-07-13 14:49:05 +03:00
2016-09-21 09:13:33 +04:00
2016-03-31 10:11:16 +04:00
2016-12-21 13:18:45 +04:00
2016-03-31 10:11:16 +04:00
2016-06-14 13:55:28 +02:00
2016-12-21 13:18:45 +04:00
2016-04-22 10:25:16 +05:30
2016-09-15 15:31:28 +02:00
2016-11-20 00:26:40 +03:00
2017-01-31 23:41:10 +04:00
2016-06-30 16:38:05 +02:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-05-10 11:48:01 +04:00
2016-11-29 06:51:12 +04:00
2016-06-21 14:11:02 +02:00
2016-03-31 10:11:16 +04:00
2016-12-21 13:18:45 +04:00
2016-06-10 18:39:43 -04:00
2016-03-31 10:11:16 +04:00
2016-02-07 10:34:03 +02:00
2016-04-19 11:27:00 +02:00
2016-12-27 03:21:13 +02:00
2016-11-03 16:35:15 +04:00
2016-09-10 16:04:44 +02:00
2016-02-09 11:28:59 +01:00
2016-03-31 10:11:16 +04:00
2016-12-29 13:23:18 +01:00
2016-12-29 13:23:49 +01:00
2016-12-29 13:23:49 +01:00
2016-03-31 10:11:16 +04:00
2016-08-07 11:02:42 +02:00
2016-03-31 10:11:16 +04:00
2016-05-08 23:04:41 +03:00
2016-06-30 11:43:02 +02:00
2016-10-05 01:11:07 +03:00
2016-10-14 01:12:04 +02:00
2016-02-23 21:35:05 +01:00
2015-12-21 21:24:22 +01:00
2016-11-02 13:44:07 +01:00
2016-04-27 11:08:46 +04:00
2016-03-31 10:11:16 +04:00
2016-11-03 13:37:15 +01:00
2016-09-02 13:22:28 +03:00
2016-11-03 13:37:15 +01:00
2016-08-10 19:19:05 +02:00
2015-12-19 13:59:29 +01:00
2016-06-18 10:46:55 +04:00
2016-06-30 16:38:05 +02:00
2016-05-20 09:46:03 +02:00
2016-10-14 01:12:04 +02:00
2016-10-05 01:11:07 +03:00
2016-12-29 13:23:18 +01:00
2016-08-02 18:52:51 +02:00
2016-03-31 10:11:16 +04:00
2016-12-29 13:23:18 +01:00
2016-08-25 16:27:57 +02:00
2016-05-04 15:23:26 +02:00
2016-01-24 16:59:41 +03:00
2016-05-08 23:04:41 +03:00
2016-06-01 23:43:11 +03:00
2016-12-29 13:23:18 +01:00
2016-12-12 20:35:41 +01:00
2016-11-03 16:35:15 +04:00
2016-09-09 15:58:01 +02:00
2016-09-02 13:22:28 +03:00
2016-06-30 11:43:02 +02:00
2017-01-18 08:43:11 +02:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-09-02 13:22:28 +03:00
2016-03-31 10:11:16 +04:00
2017-02-08 10:22:42 +01:00
2016-02-01 19:36:22 +03:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2017-01-01 20:06:03 +02:00
2017-01-01 20:06:03 +02:00
2016-12-29 13:23:49 +01:00
2016-07-13 12:09:59 +02:00
2016-09-09 08:40:24 +04:00
2017-01-24 17:22:06 +04:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-08-25 12:40:09 +02:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-08-08 17:26:06 -04:00
2016-09-02 13:22:28 +03:00
2016-09-02 13:22:28 +03:00
2016-09-08 15:49:03 +03:00
2016-03-21 11:21:44 +04:00
2016-12-29 13:23:49 +01:00
2016-03-31 10:11:16 +04:00
2016-02-06 11:45:23 +01:00
2016-04-19 11:27:00 +02:00
2016-02-15 13:02:21 +01:00
2016-12-14 12:45:50 +05:30
2016-12-11 09:53:42 +01:00
2016-05-04 15:23:26 +02:00
2017-01-24 17:29:51 +04:00
2016-10-05 01:11:07 +03:00
2016-03-08 16:55:17 +02:00
2016-11-21 02:32:48 +03:00
2016-03-31 10:11:16 +04:00
2015-12-08 09:46:51 +01:00
2016-02-23 10:54:34 +01:00
2015-12-30 13:34:15 +04:00
2016-09-28 17:59:11 +02:00
2016-03-31 10:11:16 +04:00
2016-03-31 10:11:16 +04:00
2016-06-10 18:39:43 -04:00
2016-03-31 10:11:16 +04:00
2017-01-06 10:46:21 +01:00
2016-03-31 10:11:16 +04:00
2016-04-23 00:28:50 +04:00
2016-12-30 08:56:13 +02:00
2017-01-24 17:29:51 +04:00
2016-08-25 16:27:57 +02:00
2016-08-25 16:27:57 +02:00
2016-08-25 16:27:57 +02:00
2016-10-06 12:31:23 +02:00
2016-02-09 11:27:40 +01:00
2016-08-25 16:27:57 +02:00
2016-03-31 10:11:16 +04:00
2016-04-20 19:03:59 +02:00
2016-04-20 19:03:59 +02:00
2016-08-25 16:27:57 +02:00
2016-08-25 16:27:57 +02:00
2016-08-03 21:37:19 +02:00
2016-08-03 21:37:19 +02:00
2016-12-29 13:23:18 +01:00
2016-12-21 13:18:45 +04:00
2016-02-21 22:16:17 +01:00
2017-01-24 01:21:43 +05:30
2016-07-27 17:06:29 +03:00
2016-02-23 21:35:05 +01:00
2016-12-29 13:23:18 +01:00
2016-02-22 12:48:03 +01:00
2016-11-21 17:14:14 -05:00
2016-03-31 10:11:16 +04:00
2016-10-05 01:11:07 +03:00
2017-01-15 07:41:13 +01:00
2016-10-05 01:11:07 +03:00
2016-10-05 01:11:07 +03:00
2016-03-31 10:11:16 +04:00
2016-10-05 01:11:07 +03:00
2016-11-03 16:35:15 +04:00
2016-06-30 11:43:02 +02:00
2016-08-25 12:40:09 +02:00
2016-06-30 16:38:05 +02:00
2016-12-05 10:28:20 +01:00
2016-01-11 17:20:16 +04:00
2016-06-22 22:04:55 +03:00
2016-01-11 17:20:16 +04:00
2016-06-30 16:38:05 +02:00
2016-01-11 17:20:16 +04:00
2016-03-18 17:50:18 +04:00
2016-03-23 08:26:40 +04:00
2016-01-11 17:20:16 +04:00
2016-08-27 16:59:12 +02:00
2016-05-04 15:23:26 +02:00
2016-09-27 09:21:19 +02:00
2016-01-11 17:20:16 +04:00
2015-12-08 09:46:52 +01:00
2016-06-30 11:43:02 +02:00
2016-05-24 18:05:38 +04:00
2016-09-28 22:14:27 +02:00
2016-12-12 20:27:22 +01:00
2016-03-31 10:11:16 +04:00
2017-01-05 20:44:26 +02:00
2016-04-26 11:49:35 +02:00
2016-03-31 10:11:16 +04:00
2016-05-08 23:04:41 +03:00
2016-09-24 15:12:34 +02:00
2016-05-08 23:04:41 +03:00
2016-09-24 15:12:34 +02:00
2016-09-24 15:12:34 +02:00
2016-09-24 15:12:34 +02:00
2016-09-24 15:12:34 +02:00
2016-09-24 15:09:39 +02:00
2016-09-24 15:12:34 +02:00
2016-05-08 23:04:41 +03:00
2016-05-08 23:04:41 +03:00
2016-05-08 23:04:41 +03:00
2016-05-08 23:04:41 +03:00
2016-09-24 15:12:34 +02:00
2016-05-08 23:04:41 +03:00
2017-02-09 19:34:01 -08:00
2016-02-23 21:35:05 +01:00
2016-03-31 10:11:16 +04:00
2016-06-30 11:43:02 +02:00
2016-12-29 13:23:49 +01:00