• Tom Lane's avatar
    Disallow partition key expressions that return pseudo-types. · 39ebb943
    Tom Lane authored
    This wasn't checked originally, but it should have been, because
    in general pseudo-types can't be stored to and retrieved from disk.
    Notably, partition bound values of type "record" would not be
    interpretable by another session.
    
    In v12 and HEAD, add another flag to CheckAttributeType's repertoire
    so that it can produce a specific error message for this case.  That's
    infeasible in older branches without an ABI break, so fall back to
    a slightly-less-nicely-worded error message in v10 and v11.
    
    Problem noted by Amit Langote, though this patch is not his initial
    solution.  Back-patch to v10 where partitioning was introduced.
    
    Discussion: https://postgr.es/m/CA+HiwqFUzjfj9HEsJtYWcr1SgQ_=iCAvQ=O2Sx6aQxoDu4OiHw@mail.gmail.com
    39ebb943
create_table.sql 30.5 KB