[jOOQ/jOOQ#14694] Fix regression of [jOOQ/jOOQ#8517]
This commit is contained in:
parent
4c63a20d2a
commit
285b3a7332
@ -43,6 +43,8 @@ import static org.jooq.Clause.FIELD_ROW;
|
||||
import static org.jooq.impl.Keywords.K_ROW;
|
||||
import static org.jooq.impl.Names.N_ROW;
|
||||
import static org.jooq.impl.QueryPartListView.wrap;
|
||||
import static org.jooq.impl.Tools.extractVal;
|
||||
import static org.jooq.impl.Tools.isVal;
|
||||
import static org.jooq.impl.Tools.nullSafe;
|
||||
|
||||
import java.util.Collection;
|
||||
@ -214,7 +216,7 @@ abstract class AbstractRow<R extends Record> extends AbstractQueryPart implement
|
||||
|
||||
findConversionCandidates: {
|
||||
for (int i = 0; i < size; i++)
|
||||
if (fields.field(i) instanceof Val && !(row.field(i) instanceof Val))
|
||||
if (isVal(fields.field(i)) && !isVal(row.field(i)))
|
||||
break findConversionCandidates;
|
||||
|
||||
return this;
|
||||
@ -223,9 +225,10 @@ abstract class AbstractRow<R extends Record> extends AbstractQueryPart implement
|
||||
Field<?>[] result = new Field[size];
|
||||
for (int i = 0; i < size; i++) {
|
||||
Field<?> f = fields.field(i);
|
||||
Val<?> v;
|
||||
|
||||
if (f instanceof Val)
|
||||
result[i] = ((Val) f).convertTo(row.field(i).getDataType());
|
||||
if ((v = extractVal(f)) != null)
|
||||
result[i] = v.convertTo(row.field(i).getDataType());
|
||||
else
|
||||
result[i] = f;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user