Not so sure a name class is going to be able to handle this in
isolation. This is really why we have the split between logical and
physical names. Internally we always unique things based on the logical
name. That part works well. In your examples, the logical names would
be something like
I've been working a bit on HHH-1904 [1] -- truncating identifiers based on a
maximum length provided by the Dialect. As an example, a quick test that has a
variety of uniques produced the constraint names in [2].
My initial strategy took metamodel's ObjectName and modified it to
automatically