Re: general purpose array_sort - Mailing list pgsql-hackers

From Aleksander Alekseev
Subject Re: general purpose array_sort
Date
Msg-id CAJ7c6TNSNnE3-sp=Hg-Bj0v+ksyXpx=ZYxx3H055d+Mz09Za7Q@mail.gmail.com
Whole thread Raw
In response to Re: general purpose array_sort  ("David G. Johnston" <david.g.johnston@gmail.com>)
Responses Re: general purpose array_sort
List pgsql-hackers
Hi David,

>> > It's hardly "general purpose" if it randomly refuses to
>> > sort certain types.  I would say it should be able to sort
>> > anything that ORDER BY will handle --- and that certainly
>> > includes the cases shown here.
>>
>> I wonder how useful / convenient the new function will be considering
>> that we already have CTEs and can do:
>>
>> SELECT array_agg(x ORDER BY x) FROM unnest(ARRAY[5,1,3,2,4]) AS x;
>>
>> Perhaps there are use cases I didn't consider?
>>
>
> Succinctness of expression.  Plus I'm under the impression that a function doing this is going to be somewhat faster
thancomposing two functions together within a multi-node subtree.
 
>
> I feel like the same observation could have been made for array_shuffle but we added that.  This function being added
feelsto me like just completing the set.
 

Right. To clarify, I'm not opposed to array_sort(). In fact personally
I would prefer using it instead of array_agg() + unnest().

Just making an observation / thinking out loud that the requirement to
support everything ORDER BY handles / supports (and will handle /
support?) might make this function impractical to maintain.
array_shuffle() or a recently proposed array_reverse() [1] are rather
simple since they just move the array elements without looking at
them. array_sort() does look at the elements and thus is very
different.

Particularly, does the function really need to support dir => asc |
desc | asc nulls first | etc... ? Maybe array_sort() + array_reverse(
array_sort() ) will handle most of the practical cases? I don't know.

[1]: https://commitfest.postgresql.org/50/5314/
--
Best regards,
Aleksander Alekseev



pgsql-hackers by date:

Previous
From: Tender Wang
Date:
Subject: Re: [BUG] Fix DETACH with FK pointing to a partitioned table fails
Next
From: jian he
Date:
Subject: cache lookup failed when \d t concurrent with DML change column data type