Re: embedded list

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Andres Freund <andres@2ndquadrant.com>, pgsql-hackers@postgresql.org, Peter Geoghegan <peter@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@postgresql.org>
Date: 2012-10-11T13:23:12Z
Lists: pgsql-hackers
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.)

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Provide some static-assertion functionality on all compilers.

  2. Add infrastructure for compile-time assertions about variable types.

  3. Remove 576 references of include files that were not needed.

  4. More include file adjustments.

  5. Allow each C include file to compile on its own by including any needed