• Tom Lane's avatar
    Fix CheckAttributeType's handling of collations for ranges. · 74b35eb4
    Tom Lane authored
    Commit fc769589 changed CheckAttributeType to recurse into ranges,
    but made it pass down the wrong collation (always InvalidOid, since
    ranges as such have no collation).  This would result in guaranteed
    failure when considering a range type whose subtype is collatable.
    
    Embarrassingly, we lack any regression tests that would expose such
    a problem (but fortunately, somebody noticed before we shipped this
    bug in any release).
    
    Fix it to pass down the range's subtype collation property instead,
    and add some regression test cases to exercise collatable-subtype
    ranges a bit more.  Back-patch to all supported branches, as the
    previous patch was.
    
    Report and patch by Julien Rouhaud, test cases tweaked by me
    
    Discussion: https://postgr.es/m/CAOBaU_aBWqNweiGUFX0guzBKkcfJ8mnnyyGC_KBQmO12Mj5f_A@mail.gmail.com
    74b35eb4
lsyscache.h 7.98 KB