On Fri, Oct 25, 2024 at 8:02 PM Junwang Zhao <zhjw...@gmail.com> wrote: > > On Fri, Oct 25, 2024 at 1:19 AM Aleksander Alekseev > <aleksan...@timescale.com> wrote: > > > > Hi, > > > > > I can accept this outcome though an optional three-valued boolean sort > > > order (ascending and descending only) I'd argue is worth keeping. null > > > value placement too I guess, three-valued boolean (nulls_first). > > > > Perhaps these optional arguments deserve separate discussions. I > > suggest merging something everyone agrees on first. This will simplify > > the review process and allow us to deliver value to the users quickly. > > Arguments like `reverse => true` and `nulls_first => true` can always > > be implemented and added as separate patches. > > As this patch uses the tuplesort infrastructure, we need to supply the > sortOperator, sortCollation and nullsFirstFlag, I tend to agree with > David. I admit that the parsing part is not good, so I will remove it > by using two boolean parameters Jian suggested earlier. > > Will send out another version by tomorrow.
Based on the previous discussion, I split it into two patches in V8. 0001 is the general sort part without `is_ascending` or `nulls_first`, the sort order is determined by the "<" operator of the element type. It also cached the type entry of both eletyp and the corresponding array type. 0002 adds the `is_ascending` and `nulls_first` part, it now uses two boolean parameters instead of parsing one text parameter. > > > > > -- > > Best regards, > > Aleksander Alekseev > > > > -- > Regards > Junwang Zhao -- Regards Junwang Zhao
v8-0002-support-sort-order-and-nullsfirst-flag.patch
Description: Binary data
v8-0001-general-purpose-array_sort.patch
Description: Binary data