Alvaro Herrera <alvhe...@2ndquadrant.com> writes: > I noticed while going over the multirange types patch that it adds a > pointless typiofunc cached OID to a struct used for I/O functions' > fn_extra. It seems to go completely unused, so I checked range types > (which this was cribbed from) and indeed, it is completely unused there > either. My guess is that it was in turn cribbed from array's > ArrayMetaState, which is considerably more sophisticated; I suspect > nobody noticed that caching it was pointless.
> Here's a patch to remove it from rangetypes.c. It doesn't really waste > much memory anyway, but removing it lessens the cognitive load by one or > two bits. Hm, I'm not sure that really lessens the cognitive load any, but if you do commit this please fix the dangling reference you left in the nearby comment: { TypeCacheEntry *typcache; /* range type's typcache entry */ - Oid typiofunc; /* element type's I/O function */ Oid typioparam; /* element type's I/O parameter */ FmgrInfo proc; /* lookup result for typiofunc */ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ } RangeIOData; regards, tom lane