• Tom Lane's avatar
    Fix handling of empty arrays in array_fill(). · 82f8107b
    Tom Lane authored
    array_fill(..., array[0]) produced an empty array, which is probably
    what users expect, but it was a one-dimensional zero-length array
    which is not our standard representation of empty arrays.  Also, for
    no very good reason, it rejected empty input arrays; that case should
    be allowed and produce an empty output array.
    
    In passing, remove the restriction that the input array(s) have lower
    bound 1.  That seems rather pointless, and it would have needed extra
    complexity to make the check deal with empty input arrays.
    
    Per bug #14487 from Andrew Gierth.  It's been broken all along, so
    back-patch to all supported branches.
    
    Discussion: https://postgr.es/m/20170105152156.10135.64195@wrigleys.postgresql.org
    82f8107b
arrays.sql 23 KB