1. I think rb_free_recursive is missing a pfree().
Fixed, thank you
2. We already have a definition of NIL in the PG source base. I think this one needs to be named something else. RBNIL, maybe.
fixed
3. This code could really use some more comments, and maybe some of the variable names could be better chosen, too. It's far from obvious what is going on here. I studied rbtrees in college and I still remember more or less how they work, but, boy, this is hard to follow. The names of the iterator states are truly horrible, at least IMO.
I changed names and slightly improve comments.
4. It would be nice if you could do a better job conforming to project indentation style.
Did pgindent. -- Teodor Sigaev E-mail: teo...@sigaev.ru WWW: http://www.sigaev.ru/
rbtree-0.6.gz
Description: Unix tar archive
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers