Re: useless RangeIOData->typiofunc - Mailing list pgsql-hackers

From Tom Lane
Subject Re: useless RangeIOData->typiofunc
Date
Msg-id 8261.1583361293@sss.pgh.pa.us
Whole thread Raw
In response to useless RangeIOData->typiofunc  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: useless RangeIOData->typiofunc
List pgsql-hackers
Alvaro Herrera <alvherre@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



pgsql-hackers by date:

Previous
From: Paul Jungwirth
Date:
Subject: Re: useless RangeIOData->typiofunc
Next
From: Tom Lane
Date:
Subject: Re: Allowing ALTER TYPE to change storage strategy