Thread: Re: Missing deconstruct_array_builtin usage

Re: Missing deconstruct_array_builtin usage

From
Masahiko Sawada
Date:
Hi,

On Thu, Oct 10, 2024 at 10:37 PM Bertrand Drouvot
<bertranddrouvot.pg@gmail.com> wrote:
>
> Hi hackers,
>
> While working on [1], I noticed that we missed using deconstruct_array_builtin()
> in 062a8444242.
>
> Indeed, d746021de1 added construct_array_builtin and deconstruct_array_builtin
> but , later on, 062a8444242 made use of deconstruct_array for TEXTOID.
>
> Please find attached a tiny patch to add the $SUBJECT.
>
> That does not fix any issues, it just removes this unnecessary hardcoded
> parameters related to TEXTOID passed to deconstruct_array.

+1 for better consistency and simplicity.

>
> A quick check:
>
> $ git grep construct_array | grep OID | grep -v builtin
p> src/backend/catalog/pg_publication.c:
deconstruct_array(arr, TEXTOID, -1, false, TYPALIGN_INT,
> src/backend/utils/fmgr/funcapi.c:        * For the OID and char arrays, we don't need to use deconstruct_array()
>
> shows that this is the "only" miss since d746021de1, so I still don't think it
> has to be more "complicated" than it is currently (as already mentioned by Peter
> in [2]).

It seems that src/backend/utils/adt/float.c file still has functions
that can use [de]construct_array_builtin(), for example
float8_combine(). I think it's an oversight of d746021de1.

Regards,

--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com



Re: Missing deconstruct_array_builtin usage

From
Peter Eisentraut
Date:
On 14.10.24 08:12, Bertrand Drouvot wrote:
>> It seems that src/backend/utils/adt/float.c file still has functions
>> that can use [de]construct_array_builtin(), for example
>> float8_combine(). I think it's an oversight of d746021de1.
> Thanks for looking at it.
> 
> Good catch, please find attached v2 taking care of those. I looked at the
> remaining [de]construct_array() usages and that looks ok to me.

This looks good to me.  I can't think of a reason why it was not 
included in the original patch.




Re: Missing deconstruct_array_builtin usage

From
Masahiko Sawada
Date:
On Mon, Oct 14, 2024 at 3:05 AM Peter Eisentraut <peter@eisentraut.org> wrote:
>
> On 14.10.24 08:12, Bertrand Drouvot wrote:
> >> It seems that src/backend/utils/adt/float.c file still has functions
> >> that can use [de]construct_array_builtin(), for example
> >> float8_combine(). I think it's an oversight of d746021de1.
> > Thanks for looking at it.
> >
> > Good catch, please find attached v2 taking care of those. I looked at the
> > remaining [de]construct_array() usages and that looks ok to me.
>
> This looks good to me.  I can't think of a reason why it was not
> included in the original patch.

Thank you for reviewing the patch. Pushed (v2 patch).

Regards,

--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com