Thread: gist picksplit iteration
At this page in documentation <a href="http://www.postgresql.org/docs/9.0/static/gist-implementation.html">http://www.postgresql.org/docs/9.0/static/gist-implementation.html</a> andunder "picksplit" the loop that iterates through entryvec->vector[] starts from 1 (since FirstOffsetNumber equals 1).<br/><div style="margin-left: 40px; font-family: courier new,monospace;">for (i = FirstOffsetNumber; i <= maxoff; i= OffsetNumberNext(i))</div><br />I would expect it to start from 0, since C arrays are 0 based.<br />So my question iswhy does this happen?<br />
Marios Vodas <mvodas@gmail.com> writes: > I would expect it to start from 0, since C arrays are 0 based. > So my question is why does this happen? Well I don't have any good answer other than "it's the API". Time to have a look at some contrib code and some other, maybe, like ip4r or prefix (the former is fixed size, the later a varlena struct, pick a good example for you). -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support