Thomas Tauber-Marshall
343bdad866
IMPALA-3210: last/first_value() support for IGNORE NULLS
...
Added support for the 'ignore nulls' keyword to the last_value and
first_value analytic functions, eg. 'last_value(col ignore nulls)',
which would return the last value from the window that is not null,
or null if all of the values in the window are null.
We handle 'ignore nulls' in the FE in the same way that we handle
'distinct' - by adding isIgnoreNulls as a field in FunctionParams.
To avoid affecting performance when 'ignore nulls' is not used, and
to avoid having to special case 'ignore nulls' on the backend, this
patch adds 'last_value_ignore_nulls' and 'first_value_ignore_nulls'
builtin analytic functions that wrap 'last_value' and 'first_value'
respectively.
Change-Id: Ic27525e2237fb54318549d2674f1610884208e9b
Reviewed-on: http://gerrit.cloudera.org:8080/3328
Reviewed-by: Thomas Tauber-Marshall <tmarshall@cloudera.com >
Tested-by: Internal Jenkins
2016-07-18 08:28:09 -07:00
..
2015-09-23 11:07:42 -07:00
2016-07-14 19:04:45 +00:00
2016-05-12 14:17:39 -07:00
2016-02-10 00:54:11 +00:00
2016-05-31 23:32:12 -07:00
2016-05-12 14:17:46 -07:00
2014-09-26 16:56:40 -07:00
2016-07-18 08:28:09 -07:00
2016-07-14 19:04:43 +00:00
2016-07-14 19:04:43 +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
2016-05-12 14:17:50 -07:00
2016-05-12 14:17:50 -07:00
2016-05-12 14:17:50 -07:00
2015-04-21 19:27:50 +00:00
2016-05-12 14:17:50 -07:00
2016-05-12 14:17:50 -07:00
2015-06-01 16:51:53 -07:00
2016-06-10 10:31:15 -07:00
2016-06-10 10:31:15 -07:00
2016-06-10 10:31:15 -07:00
2016-06-10 10:31:15 -07:00
2016-06-10 10:31:15 -07:00
2016-01-14 05:45:22 +00:00
2016-07-14 19:04:44 +00:00
2016-07-18 08:28:09 -07:00
2016-06-07 09:34:30 -07:00
2016-06-07 09:34:30 -07:00
2016-06-07 09:34:30 -07:00
2016-06-07 09:34:30 -07:00
2015-07-16 19:38:17 +00:00
2016-02-19 00:03:15 -08:00
2016-01-27 20:41:45 +00:00
2016-03-02 23:23:04 -08: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
2016-05-12 14:17:32 -07:00
2016-02-19 23:04:03 -08:00
2016-05-12 14:17:57 -07:00
2016-05-23 08:40:19 -07:00
2016-05-23 08:40:19 -07: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
2016-02-02 21:55:57 +00:00
2015-10-12 14:41:00 -07:00
2014-06-24 02:14:27 -07:00
2016-05-12 14:17:46 -07:00
2016-02-19 00:03:15 -08:00
2014-01-08 10:52:14 -08:00
2016-05-12 14:17:59 -07:00
2014-01-08 10:46:49 -08:00
2016-02-19 00:03:15 -08:00
2015-10-07 14:47:40 -07: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
2016-05-12 14:17:49 -07:00
2016-05-31 23:32:12 -07:00
2016-02-19 00:03:15 -08:00
2016-05-12 14:17:41 -07:00
2015-02-23 23:32:41 +00:00
2015-10-12 14:41:05 -07:00
2016-06-02 09:32:54 -07:00
2015-09-03 16:44:10 -07:00
2016-05-25 06:41:29 -07:00
2016-03-29 23:57:54 +00:00
2016-05-12 14:17:34 -07:00
2016-01-28 21:49:39 -08:00
2015-09-16 16:43:47 -07:00
2016-05-12 14:17:39 -07:00
2015-09-10 04:50:31 +00:00
2016-05-12 14:17:29 -07:00
2015-02-23 23:32:41 +00:00
2016-02-19 23:04:03 -08:00
2015-06-05 00:52:14 +00:00
2016-06-08 16:30:32 -07:00
2015-10-05 11:30:54 -07:00
2016-01-05 06:04:41 +00:00
2014-01-08 10:48:09 -08:00
2016-05-31 23:32:11 -07:00
2016-05-12 23:06:36 -07:00
2015-09-02 19:23:54 +00:00
2015-09-02 19:23:54 +00:00
2016-04-01 05:06:38 +00:00
2015-09-02 19:23:54 +00:00
2015-09-02 19:23:54 +00:00
2016-01-27 20:41:45 +00:00
2016-02-18 01:25:10 -08:00
2015-10-07 14:47:40 -07:00
2015-08-22 01:46:26 +00:00
2016-02-10 07:16:58 +00:00
2014-05-08 12:28:53 -07:00
2016-05-12 14:17:48 -07:00
2016-06-15 21:33:39 -07:00
2016-06-20 15:37:18 -07:00
2016-06-20 15:37:18 -07:00
2016-05-12 14:17:38 -07:00
2016-03-25 13:10:15 +00:00
2015-09-08 19:57:55 +00:00
2016-05-12 23:06:35 -07:00
2016-05-18 01:40:22 -07:00
2016-05-12 14:17:46 -07:00
2016-05-18 01:40:22 -07:00
2014-06-24 02:14:27 -07:00
2015-09-27 15:13:32 -07:00
2015-09-27 15:13:32 -07:00
2014-11-19 17:21:36 -08:00
2016-05-17 10:09:05 -07:00
2016-01-20 04:32:21 +00:00
2015-03-03 08:29:13 +00:00
2016-06-07 09:34:30 -07:00
2016-07-07 10:41:29 -07:00
2016-06-02 21:33:08 -07:00
2016-01-26 03:13:05 +00:00
2016-03-10 23:16:29 +00:00
2016-06-02 21:33:08 -07:00
2016-06-06 17:34:07 -07:00
2016-05-23 08:40:20 -07:00
2016-05-23 08:40:20 -07:00
2015-09-27 15:13:28 -07:00
2016-05-12 23:06:36 -07:00
2014-01-08 10:52:02 -08:00
2016-02-28 21:31:37 -08:00
2014-09-26 12:28:03 -07:00
2016-05-12 14:17:45 -07:00
2016-05-12 14:17:49 -07: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
2015-10-01 13:58:40 -07:00
2016-02-06 05:28:28 +00:00
2014-01-08 10:48:09 -08:00
2016-01-23 23:59:27 +00:00
2014-09-18 00:36:03 -07:00
2016-03-15 12:10:33 +00:00
2014-06-20 13:35:10 -07:00
2014-01-08 10:54:01 -08:00
2015-10-07 14:47:40 -07:00