@Override public final Name append(Name name) { Name[] p1 = parts(); Name[] p2 = name.parts(); Name[] array = new Name[p1.length + p2.length]; System.arraycopy(p1, 0, array, 0, p1.length); System.arraycopy(p2, 0, array, p1.length, p2.length); return new QualifiedName(array); }
static final <T> Field<T> qualify(Table<?> table, Field<T> field) { Field<T> result = table.field(field); if (result != null) return result; Name[] part = table.getQualifiedName().parts(); Name[] name = new Name[part.length + 1]; System.arraycopy(part, 0, name, 0, part.length); name[part.length] = field.getUnqualifiedName(); return DSL.field(DSL.name(name), field.getDataType()); }