On Thursday, October 11, 2012 06:37:59 PM Andres Freund wrote:
> On Thursday, October 11, 2012 03:27:17 PM Andres Freund wrote:
> > On Thursday, October 11, 2012 03:23:12 PM Alvaro Herrera wrote:
> > > Alvaro Herrera escribió:
> > > > I also included two new functions in that patch, dlisti_push_head and
> > > > dlisti_push_tail. These functions are identical to dlist_push_head
> > > > and dlist_push_tail, except that they do not accept non-circular
> > > > lists. What this means is that callers that find the non-circularity
> > > > acceptable can use the regular version, and will run dlist_init() on
> > > > demand; callers that want the super-tight code can use the other
> > > > version. I didn't bother with a new dlist_is_empty.
> > >
> > > Is there any more input on this? At this point I would recommend
> > > committing this patch _without_ these dlisti functions, i.e. we will
> > > only have the functions that check for NULL-initialized dlists. We can
> > > later discuss whether to include them or not (it would be a much
> > > smaller patch and would not affect the existing functionality in any
> > > way.)
> >
> > I can live with that. I didn't have a chance to look at the newest
> > revision yet, will do that after I finish my first pass through foreign
> > key locks.
>
> I looked at and I am happy enough ;)
>
> One thing:
> I think you forgot to adjust dlist_reverse_foreach to the NULL list header.
Tom, whats your thought about Alvaro's latest version (except the "bug"
mentioned above)? It looks like a somewhat fair compromise between our
positions and I don't think the external interface needs to change if we decide
to resolve any of our differences differently.
Greetings,
Andres
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services