[jOOQ/jOOQ#10524] Better use of new DataType.isEmbeddable() API
This commit is contained in:
parent
4b67d4244a
commit
25278f48eb
@ -5341,7 +5341,7 @@ final class Tools {
|
||||
? (Class<AbstractRecord>) ((EmbeddableTableField<?, ?>) field).recordType
|
||||
: field instanceof Val && ((Val<?>) field).value instanceof EmbeddableRecord
|
||||
? ((AbstractRecord) ((Val<?>) field).value).getClass()
|
||||
: EmbeddableRecord.class.isAssignableFrom(field.getType())
|
||||
: field.getDataType().isEmbeddable()
|
||||
? ((Field<AbstractRecord>) field).getType()
|
||||
: null;
|
||||
}
|
||||
@ -5354,7 +5354,7 @@ final class Tools {
|
||||
? ((EmbeddableRecord<?>) ((Val<?>) field).value).valuesRow().fields()
|
||||
: field instanceof ScalarSubquery
|
||||
? embeddedFields((ScalarSubquery<?>) field)
|
||||
: EmbeddableRecord.class.isAssignableFrom(field.getType())
|
||||
: field.getDataType().isEmbeddable()
|
||||
? newInstance(((Field<EmbeddableRecord<?>>) field).getType()).valuesRow().fields()
|
||||
: null;
|
||||
}
|
||||
@ -5411,14 +5411,7 @@ final class Tools {
|
||||
public Iterator<E> iterator() {
|
||||
Iterator<E> it = singletonList(field).iterator();
|
||||
|
||||
if (field instanceof EmbeddableTableField)
|
||||
return new FlatteningIterator<E>(it) {
|
||||
@Override
|
||||
List<E> flatten(E e) {
|
||||
return (List<E>) Arrays.asList(((EmbeddableTableField<?, ?>) e).fields);
|
||||
}
|
||||
};
|
||||
else if (EmbeddableRecord.class.isAssignableFrom(field.getType()))
|
||||
if (field.getDataType().isEmbeddable())
|
||||
return new FlatteningIterator<E>(it) {
|
||||
@Override
|
||||
List<E> flatten(E e) {
|
||||
|
||||
@ -49,7 +49,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.jooq.Context;
|
||||
import org.jooq.DataType;
|
||||
import org.jooq.EmbeddableRecord;
|
||||
import org.jooq.RenderContext;
|
||||
import org.jooq.conf.ParamType;
|
||||
import org.jooq.exception.DataAccessException;
|
||||
@ -113,7 +112,7 @@ final class Val<T> extends AbstractParam<T> {
|
||||
|
||||
@Override
|
||||
public void accept(Context<?> ctx) {
|
||||
if (EmbeddableRecord.class.isAssignableFrom(getType())) {
|
||||
if (getDataType().isEmbeddable()) {
|
||||
Object previous = ctx.data(DATA_LIST_ALREADY_INDENTED);
|
||||
|
||||
ctx.data(DATA_LIST_ALREADY_INDENTED, true);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user