Re: [Patch] RBTree iteration interface improvement

From: Aleksander Alekseev <a(dot)alekseev(at)postgrespro(dot)ru>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [Patch] RBTree iteration interface improvement
Date: 2016-08-22 10:00:43
Message-ID: 20160822100043.GA52699@e733
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

> > It seems clear to me that the existing arrangement is hazardous for
> > any RBTree that hasn't got exactly one consumer. I think
> > Aleksander's plan to decouple the iteration state is probably a good
> > one (NB: I've not read the patch, so this is not an endorsement of
> > details). I'd go so far as to say that we should remove the old API
> > as being dangerous, rather than preserve it on
> > backwards-compatibility grounds. We make bigger changes than that in
> > internal APIs all the time.
> Glad to hear it! I would like to propose a patch that removes the old
> API. I have a few questions though.
> Would you like it to be a separate patch, or all-in-one patch is fine
> in this case? I also would like to include unit/property-based tests in
> this (these) patch (patches). However as I understand there are
> currently no unit tests in PostgreSQL at all, only integration/system
> tests. Any advice how to do it better?

OK, here is a patch. I think we could call it a _replacement_ of an old API, so
there is probably no need in two separate patches. I still don't know how to
include unit test and whether they should be included at all. Thus for now
unit/property-based tests could be found only on GitHub [1].

As usual, if you have any questions, suggestions or notes regarding this patch,
please let me know.


Best regards,
Aleksander Alekseev

Attachment Content-Type Size
rbtree-iteration-improvement-v3.patch text/x-diff 16.4 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Adrien Nayrat 2016-08-22 10:12:58 Re: LSN as a recovery target
Previous Message Alexander Korotkov 2016-08-22 09:46:07 Re: Tracking wait event for latches