From: | Zhihong Yu <zyu(at)yugabyte(dot)com> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, Daniel Gustafsson <daniel(at)yesql(dot)se>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: A qsort template |
Date: | 2021-06-16 20:18:16 |
Message-ID: | CALNJ-vQjQ_Kj0dLOeYFApbdbS2r8hW=VtYdan-vZ==H6uom_fA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Jun 15, 2021 at 10:55 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
wrote:
> On Mon, Mar 15, 2021 at 1:09 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
> wrote:
> > On Sun, Mar 14, 2021 at 5:03 PM Zhihong Yu <zyu(at)yugabyte(dot)com> wrote:
> > > + * Remove duplicates from an array. Return the new size.
> > > + */
> > > +ST_SCOPE size_t
> > > +ST_UNIQUE(ST_ELEMENT_TYPE *array,
> > >
> > > The array is supposed to be sorted, right ?
> > > The comment should mention this.
> >
> > Good point, will update. Thanks!
>
> Rebased. Also fixed some formatting problems and updated
> typedefs.list so they don't come back.
>
Hi,
In 0001-Add-bsearch-and-unique-templates-to-sort_template.h.patch :
- const ST_ELEMENT_TYPE *
ST_SORT_PROTO_ARG);
+ const ST_ELEMENT_TYPE
*ST_SORT_PROTO_ARG);
It seems there is no real change in the line above. Better keep the
original formation.
* - ST_COMPARE_ARG_TYPE - type of extra argument
*
+ * To say that the comparator returns a type other than int, use:
+ *
+ * - ST_COMPARE_TYPE - an integer type
Since the ST_COMPARE_TYPE is meant to designate the type of the return
value, maybe ST_COMPARE_RET_TYPE would be better name.
It also goes with ST_COMPARE_ARG_TYPE preceding this.
- ST_POINTER_TYPE *a = (ST_POINTER_TYPE *) data,
- *pa,
- *pb,
- *pc,
- *pd,
- *pl,
- *pm,
- *pn;
+ ST_POINTER_TYPE *a = (ST_POINTER_TYPE *) data;
+ ST_POINTER_TYPE *pa;
There doesn't seem to be material change for the above hunk.
+ while (left <= right)
+ {
+ size_t mid = (left + right) / 2;
The computation for midpoint should be left + (right-left)/2.
Cheers
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2021-06-16 20:21:58 | Re: pg14b1 stuck in lazy_scan_prune/heap_page_prune of pg_statistic |
Previous Message | Matthias van de Meent | 2021-06-16 20:08:39 | Re: pg14b1 stuck in lazy_scan_prune/heap_page_prune of pg_statistic |