• Robert Haas's avatar
    Fix list partition constraints for partition keys of array type. · 3ccdc6f9
    Robert Haas authored
    The old code generated always generated a constraint of the form
    col = ANY(ARRAY[val1, val2, ...]), but that's invalid when col is an
    array type.  Instead, generate col = val when there's only one value,
    col = val1 OR col = val2 OR ... when there are multiple values and
    col is of array type, and the old form when there are multiple values
    and col is not of an array type.
    
    As a side benefit, this makes constraint exclusion able to prune
    a list partition declared to accept a single Boolean value, which
    didn't work before.
    
    Amit Langote, reviewed by Etsuro Fujita
    
    Discussion: http://postgr.es/m/97267195-e235-89d1-a41a-c110198dfce9@lab.ntt.co.jp
    3ccdc6f9
create_table.out 36.4 KB