Re: embedded list v3
Andres Freund <andres@2ndquadrant.com>
From: Andres Freund <andres@2ndquadrant.com>
To: pgsql-hackers@postgresql.org,
Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@postgresql.org>, Peter Geoghegan <peter@2ndquadrant.com>
Date: 2012-09-29T00:14:42Z
Lists: pgsql-hackers
Attachments
- 0001-Add-compile-time-checked-assert_compatible_types-mac.patch (text/x-patch) patch 0001
- 0002-Add-ds-list-s-which-can-be-used-to-embed-lists-in-bi.patch (text/x-patch) patch 0002
- 0003-Remove-current-users-of-dllist.h.patch (text/x-patch) patch 0003
- 0004-Remove-dllist.-ch.patch (text/x-patch) patch 0004
Hi, Current version is available at branch ilist in: git://git.postgresql.org/git/users/andresfreund/postgres.git ssh://git@git.postgresql.org/users/andresfreund/postgres.git Based on Alvaro's last version I made several changes, including: * naming is now [ds]list_* * README is split back into the header * README is rewritten * much improved comments * no non-error checking for empty lists anymore, Asserts added everywhere * no multiple evaluation at all anymore * introduction of [ds]list_iterator structs * typechecking added to macros * DLIST_STATIC_INIT added to initialize list elements at declaration time. * added some more functions (symetry, new users) * s/ILIST_USE_DEFINITION/ILIST_DEFINE_FUNCTIONS/ * don't declare ILIST_DEFINE_FUNCTIONS in the header, rely on USE_INLINE * pgindent compatible styling Patch 0001 contains a assert_compatible_types(a, b) and a assert_compatible_types_bool(a, b) macro which I found very useful to make it harder to misuse the api. I think its generally useful and possibly should be used in more places. Opinions? Greetings, Andres -- Andres Freund 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 →
-
Provide some static-assertion functionality on all compilers.
- 0d0aa5d29175 9.3.0 cited
-
Add infrastructure for compile-time assertions about variable types.
- ea473fb2dee7 9.3.0 cited
-
Remove 576 references of include files that were not needed.
- e0522505bd13 8.2.0 cited
-
More include file adjustments.
- b43ebe5f83b2 8.2.0 cited
-
Allow each C include file to compile on its own by including any needed
- b85a965f5fc7 8.2.0 cited