Boszormenyi Zoltan <> writes:
> The problem is with the two functions in path/equivclass.c,
> as process_equivalance() and those functions are all walk
> the tree, and the current RBTree code can only deal with
> one walk at a time. We need to push/pop the iterator state
> to be able to serve more than one walkers.

Good luck with that --- the iteration state is embedded in the rbtree.

> Also, we need to split out the tree modifying part from
> process_equivalence() somehow, as the tree walking
> also cannot deal with node additions and deletions.

That's not happening either.  Maybe you need to think of some other data
structure to use.  Hashtable maybe?  dynahash.c at least has reasonably
well-defined limitations in this area.

                        regards, tom lane

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to