> On 23 Feb 2023, at 15:12, Daniel Gustafsson <dan...@yesql.se> wrote: > >> On 22 Feb 2023, at 20:20, Nathan Bossart <nathandboss...@gmail.com> wrote: > >> One thing I noticed is that the >> "failed check" log is only printed once, even if multiple data type checks >> failed. I believe this is because this message uses PG_STATUS. If I >> change it to PG_REPORT, all of the "failed check" messages appear. TBH I'm >> not sure we need this message at all since a more detailed explanation will >> be printed afterwards. If we do keep it around, I think it should be >> indented so that it looks more like this: >> >> Checking for data type usage checking >> all databases >> failed check: incompatible aclitem data type in user tables >> failed check: reg* data types in user tables > > Thats a good point, that's better. I think it makes sense to keep it around. > >>> One change this brings is that check.c contains version specific checks in >>> the >>> struct. Previously these were mostly contained in version.c (some, like the >>> 9.4 jsonb check was in check.c) which maintained some level of separation. >>> Splitting the array init is of course one option but it also seems a tad >>> messy. >>> Not sure what's best, but for now I've documented it in the array comment at >>> least. >> >> Hm. We could move check_for_aclitem_data_type_usage() and >> check_for_jsonb_9_4_usage() to version.c since those are only used for >> determining whether the check applies now. Otherwise, IMO things are in >> roughly the right place. I don't think it's necessary to split the array. > > Will do, thanks.
The attached v3 is a rebase to handle conflicts and with the above comments adressed. -- Daniel Gustafsson
v3-0001-pg_upgrade-run-all-data-type-checks-per-connectio.patch
Description: Binary data