Alex Behm
1fe817f9f1
IMPALA-2318: Rework projection of collection-typed slots.
...
The first attempt in b2b9a10dda942c7e4f2af01be28e819f71de146f was wrong,
but the good news is that the validation checks caught the problem.
Problem with original approach:
In the SubplanNode we used to set the collection-typed slots of the
current row to NULL after the subplan invocation for the current row
was completed. The problem is that we may have already returned rows
from the SubplanNode which still have the non-NULL slots, and some exec
node consumers may have copied the data.
Fixed approach:
We now set a collection-slot to NULL in the UnnestNode that flattens it
immediately after evaluating the corresponding SlotRef, before returning
any rows from the UnnestNode. Setting the slot to NULL as early as possible
ensures that all rows returned by the containing SubplanNode will have the
slot set to NULL.
Change-Id: Ie942d9b2c835589ed9d41c68a831795bbbff2895
Reviewed-on: http://gerrit.cloudera.org:8080/803
Reviewed-by: Alex Behm <alex.behm@cloudera.com >
Reviewed-by: Marcel Kornacker <marcel@cloudera.com >
Tested-by: Internal Jenkins
2015-09-11 21:45:16 +00:00
..
2014-04-10 15:17:25 -07:00
2015-08-23 04:43:37 +00:00
2015-08-22 09:26:35 +00:00
2014-09-26 16:56:40 -07:00
2015-08-07 04:57:37 +00:00
2015-08-25 09:52:18 +00:00
2014-09-26 12:28:03 -07:00
2014-09-26 12:24:07 -07:00
2015-03-07 09:51:27 +00:00
2015-04-21 19:27:50 +00:00
2015-08-13 09:38:30 +00:00
2015-04-21 19:27:50 +00:00
2015-07-31 12:13:37 +00:00
2015-08-26 22:19:33 +00:00
2015-09-11 20:37:27 +00:00
2014-06-09 23:54:09 -07:00
2014-05-16 22:26:11 -07:00
2015-07-16 19:38:17 +00:00
2015-08-22 01:46:26 +00:00
2015-08-22 01:46:26 +00:00
2015-08-22 09:26:35 +00:00
2015-07-16 19:38:17 +00:00
2015-07-16 19:38:17 +00:00
2015-07-27 15:46:41 -07:00
2014-06-11 03:10:11 -07:00
2014-06-11 03:10:11 -07:00
2014-06-11 03:10:11 -07:00
2014-06-11 03:10:11 -07:00
2015-09-09 04:15:30 +00:00
2015-03-03 08:29:13 +00:00
2015-09-02 04:29:41 +00:00
2015-08-28 23:58:36 +00:00
2015-02-23 23:32:41 +00:00
2015-07-16 19:38:17 +00:00
2014-05-08 13:59:00 -07:00
2015-02-23 23:32:41 +00:00
2015-08-22 01:46:26 +00:00
2015-02-23 23:32:41 +00:00
2015-02-23 23:32:41 +00:00
2014-06-24 02:14:27 -07:00
2015-02-23 23:32:41 +00:00
2015-02-23 23:32:41 +00:00
2014-01-08 10:52:36 -08:00
2015-02-23 23:32:41 +00:00
2015-04-21 19:27:50 +00:00
2015-04-21 19:27:50 +00:00
2015-07-15 03:28:36 +00:00
2014-06-24 02:14:27 -07:00
2015-05-05 00:19:12 +00:00
2014-01-08 10:52:14 -08:00
2015-04-23 19:46:31 +00:00
2014-12-02 18:08:09 -08:00
2014-01-08 10:46:49 -08:00
2014-08-29 15:35:21 -07:00
2015-06-11 03:37:18 +00:00
2015-08-22 01:46:26 +00:00
2014-01-08 10:53:51 -08:00
2015-05-27 22:25:12 +00:00
2014-12-02 18:08:09 -08:00
2014-04-18 00:12:12 -07:00
2015-08-22 01:46:26 +00:00
2015-02-23 23:32:41 +00:00
2015-08-19 08:40:14 +00:00
2015-09-10 04:50:31 +00:00
2015-03-11 16:39:39 -07:00
2015-02-23 23:32:41 +00:00
2015-03-11 16:39:39 -07:00
2015-06-05 00:52:14 +00:00
2015-02-27 18:48:56 +00:00
2015-08-25 00:12:52 +00:00
2014-01-08 10:48:09 -08:00
2015-05-16 02:47:01 +00:00
2015-09-10 17:46:21 +00:00
2015-09-02 19:23:54 +00:00
2015-09-02 19:23:54 +00:00
2015-09-02 19:23:54 +00:00
2015-09-02 19:23:54 +00:00
2015-09-02 19:23:54 +00:00
2015-09-11 21:45:16 +00:00
2015-08-22 01:46:26 +00:00
2015-06-27 01:17:50 +00:00
2014-05-08 12:28:53 -07:00
2015-07-14 02:52:02 +00:00
2015-09-08 19:57:55 +00:00
2014-06-24 02:14:27 -07:00
2015-05-04 19:49:56 +00:00
2014-11-19 17:21:36 -08:00
2015-08-25 23:28:13 +00:00
2015-02-23 23:32:41 +00:00
2015-03-03 08:29:13 +00:00
2015-07-16 19:38:17 +00:00
2015-03-05 05:13:50 +00:00
2015-08-19 08:40:14 +00:00
2014-09-05 10:12:55 -07:00
2015-02-28 00:42:04 +00:00
2015-07-08 01:51:09 +00:00
2015-04-02 19:11:00 +00:00
2014-01-08 10:52:02 -08:00
2014-09-26 12:28:03 -07:00
2015-02-23 23:32:41 +00:00
2015-07-16 19:38:17 +00:00
2015-03-11 16:39:39 -07:00
2015-08-19 04:37:39 +00:00
2015-03-11 16:39:39 -07:00
2014-06-12 02:23:20 -07:00
2015-03-11 16:39:39 -07:00
2014-12-16 18:53:16 -08:00
2014-10-06 17:47:37 -07:00
2014-01-08 10:48:09 -08:00
2014-12-02 18:08:09 -08:00
2014-09-18 00:36:03 -07:00
2014-09-18 00:36:03 -07:00
2014-06-20 13:35:10 -07:00
2014-01-08 10:54:01 -08:00
2015-09-03 01:19:43 +00:00