• Tom Lane's avatar
    Split array_push into separate array_append and array_prepend functions. · 56a79a86
    Tom Lane authored
    There wasn't any good reason for a single C function to implement both
    these SQL functions: it saved very little code overall, and it required
    significant pushups to re-determine at runtime which case applied.  Redoing
    it as two functions ends up with just slightly more lines of code, but it's
    simpler to understand, and faster too because we need not repeat syscache
    lookups on every call.
    
    An important side benefit is that this eliminates the only case in which
    different aliases of the same C function had both anyarray and anyelement
    arguments at the same position, which would almost always be a mistake.
    The opr_sanity regression test will now notice such mistakes since there's
    no longer a valid case where it happens.
    56a79a86
catversion.h 2.53 KB