Tom, we noticed you changed gist.c to handle NULLS. It seems there is problem with your changes. in gist.c /* GIST indexes don't index nulls, see notes in gistinsert */ if (! IndexTupleHasNulls(itup)) { /* ....... skipped .... /* * Currently, GIST indexes do not support indexing NULLs; considerable * infrastructure work would have to be done to do anything reasonable * with a NULL. */ if (IndexTupleHasNulls(itup)) { While it's ok for single key but for multikey indexes removing tuple with NULL looks not right. Consider (a,b,c) where C is NULL. Your changes would remove tuple and it would be impossible to find (a,b) using this index. Did you think about this particular case ? I remind we have choosen to leave NULLs because vacuum complained about different number of tuples in heap and index and all our opclasses work correctly with NULLs. Did you change vacuum code so it will not complain ? In principle, if you insist on your approach, we propose to extend it to multikey case by removing tuple if and only if leading keys are NULLs What do you think ? Regards, Oleg _____________________________________________________________ Oleg Bartunov, sci.researcher, hostmaster of AstroNet, Sternberg Astronomical Institute, Moscow University (Russia) Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/ phone: +007(095)939-16-83, +007(095)939-23-83 ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://www.postgresql.org/search.mpl