Pavel Stehule <pavel.stehule@gmail.com> writes:
> I did update of plpgsql_check and I see, so some functions returns
> different result than on older posgresql. Probably this is wanted behave,
> but It should be mentioned as partial compatibility break, because some
> regress test can be broken too.
This is mentioned in the relevant commit message (4b93f5799):
... A lesser, but still real, annoyance is that ROW format cannot
represent a true NULL composite value, only a row of per-field NULL
values, which is not exactly the same thing.
In the case you're showing here, a true NULL got changed into ROW(NULL)
by the old code, but that no longer happens.
regards, tom lane