Forbid numeric NaN in jsonpath
authorAlexander Korotkov
Sat, 11 Jul 2020 00:21:00 +0000 (03:21 +0300)
committerAlexander Korotkov
Sat, 11 Jul 2020 00:21:48 +0000 (03:21 +0300)
commit89a0b1a7ca0af36818ed7076c12ac00bcf4f007d
tree05c2e457c95c8fa58bb9a5caf1b2307cb51f92aa
parentb9a04a9bc6653183ed23532145325694fbc46002
Forbid numeric NaN in jsonpath

SQL standard doesn't define numeric Inf or NaN values.  It appears even more
ridiculous to support then in jsonpath assuming JSON doesn't support these
values as well.  This commit forbids returning NaN from .double(), which was
previously allowed.  NaN can't be result of inner-jsonpath computation over
non-NaNs.  So, we can not expect NaN in the jsonpath output.

Reported-by: Tom Lane
Discussion: https://postgr.es/m/203949.1591879542%40sss.pgh.pa.us
Author: Alexander Korotkov
Reviewed-by: Tom Lane
Backpatch-through: 12
src/backend/utils/adt/jsonb_util.c
src/backend/utils/adt/jsonpath_exec.c
src/test/regress/expected/jsonb_jsonpath.out