git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1fa25ce)
Fix type of iterator variable in SH_START_ITERATE
Thu, 6 Jul 2023 15:34:17 +0000 (08:34 -0700)
Thu, 6 Jul 2023 16:57:28 +0000 (09:57 -0700)
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-


diff --git a/src/include/lib/simplehash.h b/src/include/lib/simplehash.h
index 48db837ec8cf7768a47c47c8078ce3e9ff216f42..b7adc16b807d4ce66a28c515fd85655cb14f6051 100644 (file)
--- a/src/include/lib/simplehash.h
+++ b/src/include/lib/simplehash.h
@@ -964,7 +964,6 @@ SH_DELETE_ITEM(SH_TYPE * tb, SH_ELEMENT_TYPE * entry)
SH_SCOPE void
SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter)
{
- int i;
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
* 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];
@@ -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);
/*
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /