Обсуждение: gist picksplit iteration

Поиск
Список
Период
Сортировка

gist picksplit iteration

От
Marios Vodas
Дата:
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 /> 

Re: gist picksplit iteration

От
Dimitri Fontaine
Дата:
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