• Tom Lane's avatar
    Update leakproofness markings on some btree comparison functions. · d01e75d6
    Tom Lane authored
    Mark pg_lsn and oidvector comparison functions as leakproof.  Per
    discussion, these clearly are leakproof so we might as well mark them so.
    
    On the other hand, remove leakproof markings from name comparison
    functions other than equal/not-equal.  Now that these depend on
    varstr_cmp, they can't be considered leakproof if text comparison isn't.
    (This was my error in commit 586b98fd.)
    
    While at it, add some opr_sanity queries to catch cases where related
    functions do not have the same volatility and leakproof markings.
    This would clearly be bogus for commutator or negator pairs.  In the
    domain of btree comparison functions, we do have some exceptions,
    because text equality is leakproof but inequality comparisons are not.
    That's odd on first glance but is reasonable (for now anyway) given
    the much greater complexity of the inequality code paths.
    
    Discussion: https://postgr.es/m/20181231172551.GA206480@gust.leadboat.com
    d01e75d6
opr_sanity.sql 52.1 KB