Oleg Bartunov <[EMAIL PROTECTED]> writes: > We have implemented multi-key index support for GiST. Patch is available > from >http://www.sai.msu.su/~megera/postgres/gist/code/7.1.2/patch_multikeygist.7.1.2.gz What is the point of the macro #define ATTGET(itup, Rel, i, isnull ) ((char*)( \ ( IndexTupleSize(itup) == sizeof(IndexTupleData) ) ? \ *(isnull)=true, NULL \ : \ index_getattr(itup, i, (Rel)->rd_att, isnull) \ )) It appears to me that index_getattr should handle an all-NULL index tuple just fine by itself --- certainly the btree code expects it to. So I do not see the reason for this extra layer on top of it. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])