> > I should probably split this into "actionable" (categories 3 and 4) > and "noise and scaffolding" patches. >
Breaking down the noise-and-scaffolding into some subgroups might make the rather long patches more palatable/exceedingly-obvious: * (Datum) 0 ---> NullDatum * 0 ----> NullDatum * The DatumGetPointer(allParameterTypes) null tests Having said that, everything you did seems really straightforward, except for src/backend/rewrite/rewriteDefine.c src/backend/statistics/mcv.c src/backend/tsearch/ts_parse.c and those seem like cases where the DatumGetXXX was a no-op before Datum was a struct.