On Fri, 2010-04-16 at 10:39 -0400, Tom Lane wrote: > Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> writes: > > I didn't handle xid wraparound correctly in the binary search, need to use > > TransactionIdFollows instead of plan >. > > I think you're outsmarting yourself there. A binary search will in fact > *not work* with circular xid comparison (this is exactly why there's no > btree opclass for XID). You need to use plain >, and make sure the > array you're searching is ordered that way too. The other way might > accidentally fail to malfunction if you only tested ranges of XIDs that > weren't long enough to wrap around, but that doesn't make it right.
I don't understand the exact, please explain more. I'm not using bsearch() just a quick chop based upon xid comparison, which looks to me like it will work. -- Simon Riggs www.2ndQuadrant.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers