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:57 +0000 (03:21 +0300)
commitf4ae676e3178124c2bc2b3a3530efe8f3cdbc442
tree1ed49c6a229e21e8535417a8ffdb5af150f03900
parent3ec5f6b53dfb6acfe66a952edef1b6887da91777
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