Optimised JoinTable's copying of lhs and rhs fields

This commit is contained in:
Lukas Eder 2013-02-08 11:36:53 +01:00
parent db826c5cf6
commit c34aa7866c
2 changed files with 6 additions and 14 deletions

View File

@ -290,12 +290,14 @@ class JoinTable extends AbstractTable<Record> implements TableOptionalOnStep, Ta
@Override
protected final FieldList getFieldList() {
FieldList result = new FieldList();
Field<?>[] l = lhs.asTable().fields();
Field<?>[] r = rhs.asTable().fields();
Field<?>[] all = new Field[l.length + r.length];
result.addAll(lhs.asTable().fields());
result.addAll(rhs.asTable().fields());
System.arraycopy(l, 0, all, 0, l.length);
System.arraycopy(r, 0, all, l.length, r.length);
return result;
return new FieldList(all);
}
@Override

View File

@ -36,8 +36,6 @@
package org.jooq.impl;
import static org.jooq.impl.Utils.list;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@ -175,19 +173,11 @@ class QueryPartList<T extends QueryPart> extends AbstractQueryPart implements Li
return wrappedList.addAll(removeNulls(c));
}
final boolean addAll(T... c) {
return addAll(list(c));
}
@Override
public final boolean addAll(int index, Collection<? extends T> c) {
return wrappedList.addAll(index, removeNulls(c));
}
final boolean addAll(int index, T... c) {
return addAll(index, list(c));
}
private final Collection<? extends T> removeNulls(Collection<? extends T> c) {
// [#2145] Collections that contain nulls are quite rare, so it is wise