On Fri, Aug 16, 2024 at 01:35:01PM -0500, Nathan Bossart wrote: > On Fri, Aug 16, 2024 at 09:00:00PM +0300, Alexander Lakhin wrote: >> Sp it looks like jsonb_array_element_text() still needs the same >> treatment as jsonb_array_element(). > > D'oh. I added a test for that but didn't actually fix the code. I think > we just need something like the following. > > diff --git a/src/backend/utils/adt/jsonfuncs.c > b/src/backend/utils/adt/jsonfuncs.c > index 1f8ea51e6a..69cdd84393 100644 > --- a/src/backend/utils/adt/jsonfuncs.c > +++ b/src/backend/utils/adt/jsonfuncs.c > @@ -990,7 +990,7 @@ jsonb_array_element_text(PG_FUNCTION_ARGS) > { > uint32 nelements = JB_ROOT_COUNT(jb); > > - if (-element > nelements) > + if (pg_abs_s32(element) > nelements) > PG_RETURN_NULL(); > else > element += nelements;
I've committed this one. -- nathan