Consider:

typedef struct Memoize
{
    Plan        plan;

    int         numKeys;        /* size of the two arrays below */

    Oid        *hashOperators;  /* hash operators for each key */
    Oid        *collations;     /* cache keys */
    List       *param_exprs;    /* exprs containing parameters */
    ...

I think the comment "cache keys" is weird here.  Maybe it was copied from

typedef struct MemoizePath
{
    Path        path;
    Path       *subpath;        /* outerpath to cache tuples from */
    List       *hash_operators; /* hash operators for each key */
    List       *param_exprs;    /* cache keys */
    ...

but it's attached to a different field there.

Is this a mistake, or could this be clarified?


Reply via email to