At this page in documentation http://www.postgresql.org/docs/9.0/static/gist-implementation.html and under "picksplit" the loop that iterates through entryvec->vector[] starts from 1 (since FirstOffsetNumber equals 1). for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i))
I would expect it to start from 0, since C arrays are 0 based. So my question is why does this happen?