В Пн, 13/03/2023 в 13:58 -0400, Tom Lane пишет:
> Nikolay Shaplov <[email protected]> writes:
> > I found a bug in jsonb_in function (it converts json from sting representation
> > into jsonb internal representation).
>
> Yeah. Looks like json_lex_string is failing to honor the invariant
> that it needs to set token_terminator ... although the documentation
> of the function certainly isn't helping. I think we need the attached.
>
> A nice side benefit is that the error context reports get a lot more
> useful --- somebody should have inquired before as to why they were
> so bogus.
>
> regards, tom lane
>
Good day, Tom and all.
Merged patch looks like start of refactoring.
Colleague (Nikita Glukhov) propose further refactoring of jsonapi.c:
- use of inline functions instead of macroses,
- more uniform their usage in token success or error reporting,
- simplify json_lex_number and its usage a bit.
Also he added tests for fixed bug.
-----
Regards,
Yura Sokolov.