• Tom Lane's avatar
    Reduce runtime of privileges.sql test under CLOBBER_CACHE_ALWAYS. · e135743e
    Tom Lane authored
    Several queries in the privileges regression test cause the planner
    to apply the plpgsql function "leak()" to every element of the
    histogram for atest12.b.  Since commit 0c882e52 increased the size
    of that histogram to 10000 entries, the test invokes that function
    over 100000 times, which takes an absolutely unreasonable amount of
    time in clobber-cache-always mode.
    
    However, there's no real reason why that has to be a plpgsql
    function: for the purposes of this test, all that matters is that
    it not be marked leakproof.  So we can replace the plpgsql
    implementation with a direct call of int4lt, which has the same
    behavior and is orders of magnitude faster.  This is expected to
    cut several hours off the buildfarm cycle time for CCA animals.
    It has some positive impact in normal builds too, though that's
    probably lost in the noise.
    
    Back-patch to v13 where 0c882e52 came in.
    
    Discussion: https://postgr.es/m/575884.1620626638@sss.pgh.pa.us
    e135743e
privileges.out 80.5 KB