On 2022-05-16 Mo 13:52, Erik Rijkers wrote:
> Op 16-05-2022 om 16:49 schreef Andrew Dunstan:
>
>> [sqljson-dox-rework-2.patch]
>
> Two issues, derived from func.sgml:
>
> -----
> 1.
>
> I noticed that some json functions, for instance json_object(), in
> their output insert unexpected spaces before the separator-colon:
>
> testdb=# select json_object('{a, 1, b, "def", c, 3.5}');
>
> json_object
> ---------------------------------------
> {"a" : "1", "b" : "def", "c" : "3.5"}
> (1 row)
>
> instead of the expected
> {"a": "1", "b": "def", "c": "3.5"}
>
> Of course not outright wrong but wouldn't it make more sense to
> normalize such output? There is here no reason in the input to space
> the colon on both sides.
>
> Functions that yield this peculiarly spaced output are:
> json_object
> json_objectagg
> json_build_object
>
Well, yes, possibly, but don't think we're going to change the behavior
now, it might break things.
> -----
> 2.
>
> This example in func.sgml says it gives 't' but on my instance it
> returns 'f'. Is the example correct?
>
> jsonb_path_exists_tz('["2015-08-01 12:00:00 -05"]', '$[*] ?
> (@.datetime() < "2015-08-02".datetime())') → t
Yeah, it doesn't like the format of the timestamp literal. It works with
"2015-08-01T12:00:0 -05". I'll fix the example in the next version.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com