Attila Jeges
211f60d831
IMPALA-1731,IMPALA-3868: Float values are not parsed correctly
...
Fixed StringToFloatInternal() not to parse strings like "1.23inf"
and "infinite" with leading/trailing garbage as Infinity. These
strings are now rejected with PARSE_FAILURE.
Only "inf" and "infinity" are accepted, parsing is case-insensitive.
"NaN" values are handled similarly: strings with leading/trailing
garbage like "nana" are rejected, parsing is case-insensitive.
Other changes:
- StringToFloatInternal() was cleaned up a bit. Parsing inf and NaN
strings was moved out of the main loop.
- Use std::numeric_limits<T>::infinity() instead of INFINITY macro
and std::numeric_limits<T>::quiet_NaN() instead of NAN macro.
- Fixed another minor bug: multiple dots are allowed when parsing
float values (e.g. "2.1..6" is interpreted as 2.16).
- New BE and E2E tests were added.
Change-Id: I9e17d0f051b300a22a520ce34e276c2d4460d35e
Reviewed-on: http://gerrit.cloudera.org:8080/3791
Reviewed-by: Michael Ho <kwho@cloudera.com >
Tested-by: Internal Jenkins
2016-08-24 03:34:01 +00: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
2016-08-19 02:14:39 +00: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-08-19 06:04:18 +00: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-08-24 03:34:01 +00: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
2016-08-19 02:14:39 +00:00
2016-08-19 02:14:39 +00:00
2016-03-29 23:57:54 +00:00
2016-05-12 14:17:34 -07:00
2016-08-19 02:14:39 +00:00
2016-08-19 02:14:39 +00: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
2016-07-19 23:30:02 -07: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-08-11 08:42:41 +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-08-19 06:04:18 +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
2016-07-19 23:30:02 -07: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
2016-07-20 18:30:25 -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