> 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: teodor@sigaev.ru
WWW: http://www.sigaev.ru/