• Bruce Momjian's avatar
    O.K. - · 0ba0e321
    Bruce Momjian authored
    Here's the multibyte aware version of my patch to fix the truncation
    of the rulename autogenerated during a CREATE VIEW. I've modified all
    the places in the backend that want to construct the rulename to use
    the MakeRetrieveViewRuleName(), where I put the #ifdef MULTIBYTE, so
    that's the only place that knows how to construct a view rulename. Except
    pg_dump, where I replicated the code, since it's a standalone binary.
    
    The only effect the enduser will see is that views with names len(name)
    > NAMEDATALEN-4 will fail to be created, if the derived rulename clases
    with an existing rule: i.e. the user is trying to create two views with
    long names whose first difference is past NAMEDATALEN-4 (but before
    NAMEDATALEN: that'll error out after the viewname truncation.) In no
    case will the user get left with a table without a view rule, as the
    current code does.
    
    Ross Reedstrom
    0ba0e321
rewriteDefine.c 9.24 KB