• Robert Haas's avatar
    Fix multiple problems with satisfies_hash_partition. · f3b0897a
    Robert Haas authored
    Fix the function header comment to describe the actual behavior.
    Check that table OID, modulus, and remainder arguments are not NULL
    before accessing them.  Check that the modulus and remainder are
    sensible.  If the table OID doesn't exist, return NULL instead of
    emitting an internal error, similar to what we do elsewhere.  Check
    that the actual argument types match, or at least are binary coercible
    to, the expected argument types.  Correctly handle invocation of this
    function using the VARIADIC syntax.  Add regression tests.
    
    Robert Haas and Amul Sul, per a report by Andreas Seltenreich and
    subsequent followup investigation.
    
    Discussion: http://postgr.es/m/871sl4sdrv.fsf@ansel.ydns.eu
    f3b0897a
partition.c 92.3 KB