evgen@moonbone.local
8ffda481c9
Fixed bug#18503: Queries with a quantified subquery returning empty set
...
may return a wrong result.
An Item_sum_hybrid object has the was_values flag which indicates whether any
values were added to the sum function. By default it is set to true and reset
to false on any no_rows_in_result() call. This method is called only in
return_zero_rows() function. An ALL/ANY subquery can be optimized by MIN/MAX
optimization. The was_values flag is used to indicate whether the subquery
has returned at least one row. This bug occurs because return_zero_rows() is
called only when we know that the select will return zero rows before
starting any scans but often such information is not known.
In the reported case the return_zero_rows() function is not called and
the was_values flag is not reset to false and yet the subquery return no rows
Item_func_not_all and Item_func_nop_all functions return a wrong
comparison result.
The end_send_group() function now calls no_rows_in_result() for each item
in the fields_list if there is no rows were found for the (sub)query.
2006-07-12 01:52:18 +04:00
..
2006-05-18 17:10:58 +05:00
2006-05-30 00:08:58 -07:00
2005-09-30 14:03:55 +02:00
2004-09-13 14:46:38 +02:00
2005-09-21 14:32:19 +05:00
2006-06-22 00:29:04 +04:00
2006-02-21 19:52:20 +03:00
2005-09-12 18:48:17 +03:00
2004-09-01 04:12:09 +03:00
2006-01-16 12:17:30 +01:00
2005-05-04 15:05:56 +02:00
2005-08-30 02:46:03 +02:00
2005-08-26 02:09:56 +02:00
2006-03-30 03:11:37 +03:00
2005-11-08 00:26:37 -05:00
2006-05-15 17:25:37 +04:00
2005-05-04 15:05:56 +02:00
2005-06-05 19:38:52 +02:00
2005-05-04 15:05:56 +02:00
2005-06-05 19:38:52 +02:00
2005-05-04 15:05:56 +02:00
2005-10-21 06:29:17 +04:00
2005-05-04 15:05:56 +02:00
2005-06-05 19:38:52 +02:00
2005-05-18 19:40:39 +02:00
2006-06-14 20:22:43 +02:00
2006-06-08 16:12:38 +02:00
2005-11-21 12:27:58 +01:00
2006-06-02 07:26:45 +02:00
2005-06-05 19:38:52 +02:00
2005-05-27 14:15:08 +02:00
2006-01-24 13:58:28 +04:00
2005-06-21 04:24:21 -07:00
2006-06-20 23:05:55 +04:00
2006-06-15 16:39:18 +04:00
2005-04-11 10:44:48 +04:00
2004-12-16 16:16:28 +03:00
2006-06-07 14:01:10 +05:00
2006-02-07 13:49:55 +04:00
2005-09-21 14:35:01 +05:00
2005-05-04 15:05:56 +02:00
2006-04-07 22:26:25 +04:00
2006-04-07 22:26:25 +04:00
2006-06-16 23:46:37 +04:00
2005-12-07 15:45:31 +01:00
2006-04-28 11:23:31 +02:00
2005-07-13 17:38:55 +04:00
2006-03-29 23:30:34 +04:00
2006-04-12 23:05:38 +04:00
2006-06-17 02:11:12 +04:00
2006-06-17 02:11:12 +04:00
2005-06-05 19:38:52 +02:00
2005-05-26 12:09:14 +02:00
2006-04-28 11:23:31 +02:00
2006-06-13 19:09:24 +04:00
2005-03-17 10:59:25 +04:00
2004-11-10 17:56:45 +01:00
2006-04-19 22:54:25 +05:00
2006-02-10 15:12:27 +02:00
2005-10-12 13:29:55 +02:00
2005-10-12 13:29:55 +02:00
2005-09-24 15:51:45 +02:00
2006-05-12 21:38:41 +03:00
2004-05-25 02:28:44 +03:00
2006-05-23 10:33:53 +02:00
2005-09-07 14:59:41 +04:00
2006-06-02 12:04:03 +03:00
2005-09-30 15:21:37 +04:00
2006-06-21 17:51:16 +05:00
2006-01-11 17:31:52 +03:00
2005-06-05 19:38:52 +02:00
2005-05-04 15:05:56 +02:00
2005-06-05 19:38:52 +02:00
2006-01-18 22:50:31 +03:00
2005-05-04 15:05:56 +02:00
2005-10-25 02:27:40 +03:00
2005-10-14 15:34:52 +02:00
2004-10-06 19:14:33 +03:00
2006-04-30 16:20:26 +03:00
2006-04-07 23:37:06 +04:00
2005-10-14 15:34:52 +02:00
2005-10-12 13:29:55 +02:00
2005-11-01 13:00:02 +02:00
2005-12-10 18:20:00 +04:00
2006-04-27 14:54:36 +04:00
2005-09-01 16:52:59 +04:00
2005-09-13 18:11:51 +03:00
2005-05-26 12:09:14 +02:00
2006-05-30 00:08:58 -07:00
2005-05-05 09:15:14 +02:00
2006-01-04 17:35:30 +03:00
2005-09-06 12:18:23 +03:00
2006-05-25 16:05:55 +05:00
2006-04-07 23:50:45 +04:00
2005-06-05 19:38:52 +02:00
2005-05-26 12:09:14 +02:00
2006-01-31 12:47:22 +01:00
2006-03-08 10:15:48 +01:00
2005-03-23 08:36:48 +02:00
2004-12-09 13:31:46 +03:00
2005-06-28 00:52:21 +03:00
2006-01-10 19:13:12 +02:00
2004-12-14 03:36:19 +03:00
2005-12-08 12:33:33 -08:00
2006-05-26 18:31:25 +02:00
2006-05-06 23:48:13 -07:00
2005-06-05 19:38:52 +02:00
2005-05-18 22:14:08 +02:00
2006-02-07 00:03:39 +01:00
2005-06-05 19:38:52 +02:00
2005-05-26 12:09:14 +02:00
2005-06-05 19:38:52 +02:00
2006-05-29 00:32:59 +04:00
2006-05-06 23:48:13 -07:00
2004-12-03 12:13:51 +01:00
2005-07-18 14:46:53 +02:00
2004-12-31 12:04:35 +02:00
2006-07-12 01:52:18 +04:00
2006-06-02 14:14:57 -07:00
2006-05-04 13:17:16 +03:00
2005-12-12 21:42:09 +04:00
2005-05-04 15:05:56 +02:00
2006-05-04 00:03:58 +05:00
2005-09-14 13:18:16 +02:00
2005-06-30 17:33:23 +02:00
2005-05-09 12:16:59 +02:00
2006-04-20 22:15:38 -07:00
2006-06-19 14:05:14 +05:00
2006-04-20 22:15:38 -07:00
2005-04-20 20:38:57 +02:00
2005-04-20 20:38:57 +02:00
2005-01-11 15:38:03 +01:00
2006-06-14 21:06:02 +04:00
2006-06-23 13:19:30 +05:00
2006-01-23 19:19:29 +01:00
2004-11-08 01:13:54 +02:00
2004-12-16 16:31:50 +03:00
2004-06-18 10:11:31 +04:00
2005-12-13 18:30:10 +02:00
2005-05-04 15:05:56 +02:00
2004-12-09 12:47:20 +02:00
2005-07-27 13:05:30 +03:00
2006-04-12 23:05:38 +04:00