From: | Junwang Zhao <zhjwpku(at)gmail(dot)com> |
---|---|
To: | Aleksander Alekseev <aleksander(at)timescale(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, jian he <jian(dot)universality(at)gmail(dot)com>, Amit Langote <amitlangote09(at)gmail(dot)com>, "andreas(at)proxel(dot)se" <andreas(at)proxel(dot)se>, Robert Haas <robertmhaas(at)gmail(dot)com> |
Subject: | Re: general purpose array_sort |
Date: | 2024-10-26 04:20:30 |
Message-ID: | CAEG8a3KztaRQT9X8UfHACJ1Qszw93guLpGJG0pRHS6-OYoCR3Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Oct 25, 2024 at 8:02 PM Junwang Zhao <zhjwpku(at)gmail(dot)com> wrote:
>
> On Fri, Oct 25, 2024 at 1:19 AM Aleksander Alekseev
> <aleksander(at)timescale(dot)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
Attachment | Content-Type | Size |
---|---|---|
v8-0002-support-sort-order-and-nullsfirst-flag.patch | application/octet-stream | 8.4 KB |
v8-0001-general-purpose-array_sort.patch | application/octet-stream | 10.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2024-10-26 07:20:12 | Re: proposal: plpgsql, new check for extra_errors - strict_expr_check |
Previous Message | Dilip Kumar | 2024-10-26 04:17:22 | Re: Can rs_cindex be < 0 for bitmap heap scans? |