Testing if an unsigned variable is >= 0 is pretty pointless.
There's likely enough code in remove_cache_entry() to verify the cache
memory accounting is correct in assert enabled builds. These Asserts
were not adding much extra cover, even if they had been checking >= 0 on a
signed variable.
Reported-by: Andres Freund
Discussion: https://postgr.es/m/
20210402204734.6mo3nfacnljlicgn@alap3.anarazel.de
/* Update the memory accounting */
rcstate->mem_used -= freed_mem;
-
- Assert(rcstate->mem_used >= 0);
}
/*
*/
rcstate->mem_used -= EMPTY_ENTRY_MEMORY_BYTES(entry);
- Assert(rcstate->mem_used >= 0);
-
/* Remove the entry from the cache */
resultcache_delete_item(rcstate->hashtable, entry);