Thread: pgsql: Change inv_truncate() to not repeat its systable_getnext_ordered

pgsql: Change inv_truncate() to not repeat its systable_getnext_ordered

From
Tom Lane
Date:
Change inv_truncate() to not repeat its systable_getnext_ordered() scan.

In the case where the initial call of systable_getnext_ordered() returned
NULL, this function would nonetheless call it again.  That's undefined
behavior that only by chance failed to not give visibly incorrect results.
Put an if-test around the final loop to prevent that, and in passing
improve some comments.  No back-patch since there's no actual failure.

Per report from YAMAMOTO Takashi.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7ab6f2da23516e48174f3f144ee9ef19bdc287fb

Modified Files
--------------
src/backend/storage/large_object/inv_api.c |   21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)