Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> Pushed that way, but we can discuss further wording improvements/changes
> if someone wants to propose any.
I just noticed that drongo is complaining about two lines added
by commit 53c2a97a9:
drongo | 2024-03-04 14:34:52 | ../pgsql/src/backend/access/transam/slru.c(436): warning C4047: '!=':
'SlruPageStatus*' differs in levels of indirection from 'int'
drongo | 2024-03-04 14:34:52 | ../pgsql/src/backend/access/transam/slru.c(717): warning C4047: '!=':
'SlruPageStatus*' differs in levels of indirection from 'int'
These lines are
Assert(&shared->page_status[slotno] != SLRU_PAGE_EMPTY);
Assert(&ctl->shared->page_status[slotno] != SLRU_PAGE_EMPTY);
These are comparing the address of something with an enum value,
which surely cannot be sane. Is the "&" operator incorrect?
It looks like SLRU_PAGE_EMPTY has (by chance, or deliberately)
the numeric value of zero, so I guess the majority of our BF
animals are understanding this as "address != NULL". But that
doesn't look like a useful test to be making.
regards, tom lane