[jOOQ/jOOQ#12697] Mapped JSON in multiset causes multiple ad-hoc conversions

This fix includes:

- [jOOQ/jOOQ#12713] Debug log output causes exceptions when data type converter is re-applied incompatibly
This commit is contained in:
Lukas Eder 2021-12-08 13:15:04 +01:00
parent 82a565f566
commit d071fda2ef
2 changed files with 3 additions and 2 deletions

View File

@ -1017,8 +1017,9 @@ abstract class AbstractRecord extends AbstractStore implements Record {
for (int i = 0; i < s && i < t; i++) {
int j = indexMapping == null ? i : indexMapping[i];
// [#12697] Don't re-apply data type conversion, assuming it already happened
if (source.field(j) != null && source.changed(j))
Tools.setValue(this, field(j), j, source, j);
set((Field) field(j), j, source.get(j));
}
}

View File

@ -1361,7 +1361,7 @@ abstract class AbstractResult<R extends Record> extends AbstractFormattable impl
}
else if (value instanceof Record) { Record r = (Record) value;
formatted += Arrays
.stream(r.valuesRow().fields())
.stream(r.intoArray())
.map(f -> format0(f, false, visual))
.collect(joining(", ", "(", ")"));
}