Fix type of iterator variable in SH_START_ITERATE
Also add comment to make the reasoning behind the Assert() more explicit (per Tom). Reported-by: Ranier Vilela Discussion: https://postgr.es/m/CAEudQAocXNJ6s1VLz+hMamLAQAiewRoW17OJ6-+9GACKfj6iPQ@mail.gmail.com Backpatch: 11-
This commit is contained in:
parent
1fa25ce70f
commit
f0a94d81e4
@ -964,7 +964,6 @@ SH_DELETE_ITEM(SH_TYPE * tb, SH_ELEMENT_TYPE * entry)
|
|||||||
SH_SCOPE void
|
SH_SCOPE void
|
||||||
SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter)
|
SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter)
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
uint64 startelem = PG_UINT64_MAX;
|
uint64 startelem = PG_UINT64_MAX;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -972,7 +971,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter)
|
|||||||
* supported, we want to start/end at an element that cannot be affected
|
* supported, we want to start/end at an element that cannot be affected
|
||||||
* by elements being shifted.
|
* by elements being shifted.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < tb->size; i++)
|
for (uint32 i = 0; i < tb->size; i++)
|
||||||
{
|
{
|
||||||
SH_ELEMENT_TYPE *entry = &tb->data[i];
|
SH_ELEMENT_TYPE *entry = &tb->data[i];
|
||||||
|
|
||||||
@ -983,6 +982,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* we should have found an empty element */
|
||||||
Assert(startelem < SH_MAX_SIZE);
|
Assert(startelem < SH_MAX_SIZE);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user