Re: embedded list v3 - Mailing list pgsql-hackers

From Andres Freund
Subject Re: embedded list v3
Date
Msg-id 201209290214.43020.andres@2ndquadrant.com
Whole thread Raw
In response to embedded list v2  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: embedded list v3  (Andres Freund <andres@2ndquadrant.com>)
Re: embedded list v3  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: embedded list v3  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: embedded list v3  (Peter Geoghegan <peter@2ndquadrant.com>)
List pgsql-hackers
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

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Generalizing range-constraint detection in clauselist_selectivity
Next
From: Andres Freund
Date:
Subject: Re: embedded list v2