• Tom Lane's avatar
    Fix pg_dump to not emit invalid SQL for an empty operator class. · 0461b66e
    Tom Lane authored
    If an operator class has no operators or functions, and doesn't need
    a STORAGE clause, we emitted "CREATE OPERATOR CLASS ... AS ;" which
    is syntactically invalid.  Fix by forcing a STORAGE clause to be
    emitted anyway in this case.
    
    (At some point we might consider changing the grammar to allow CREATE
    OPERATOR CLASS without an opclass_item_list.  But probably we'd want to
    omit the AS in that case, so that wouldn't fix this pg_dump issue anyway.)
    
    It's been like this all along, so back-patch to all supported branches.
    
    Daniel Gustafsson, tweaked by me to avoid a dangling-pointer bug
    
    Discussion: https://postgr.es/m/D9E5FC64-7A37-4F3D-B946-7E4FB468F88A@yesql.se
    0461b66e
pg_dump.c 533 KB