[jOOQ/jOOQ#13671] Oracle doesn't support ORDER BY in UPDATE .. SET
correlated subquery
This commit is contained in:
parent
1505149178
commit
a29efc26ce
@ -84,6 +84,7 @@ import static org.jooq.impl.Tools.map;
|
||||
import static org.jooq.impl.Tools.row0;
|
||||
import static org.jooq.impl.Tools.unqualified;
|
||||
import static org.jooq.impl.Tools.visitSubquery;
|
||||
import static org.jooq.impl.Tools.BooleanDataKey.DATA_FORCE_LIMIT_WITH_ORDER_BY;
|
||||
import static org.jooq.impl.Tools.SimpleDataKey.DATA_ON_DUPLICATE_KEY_WHERE;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -316,6 +317,7 @@ final class FieldMapForUpdate extends AbstractQueryPartMap<FieldOrRow, FieldOrRo
|
||||
|
||||
|
||||
|
||||
|
||||
visitSubquery(ctx, multiSelect);
|
||||
}
|
||||
}
|
||||
@ -330,6 +332,10 @@ final class FieldMapForUpdate extends AbstractQueryPartMap<FieldOrRow, FieldOrRo
|
||||
Condition condition = (Condition) ctx.data(DATA_ON_DUPLICATE_KEY_WHERE);
|
||||
if (condition != null)
|
||||
ctx.visit(when(condition, (Field) value).else_(key));
|
||||
|
||||
|
||||
|
||||
|
||||
else
|
||||
ctx.visit(value);
|
||||
}
|
||||
@ -340,6 +346,15 @@ final class FieldMapForUpdate extends AbstractQueryPartMap<FieldOrRow, FieldOrRo
|
||||
return ",";
|
||||
}
|
||||
|
||||
private static final void visitSubquery(Context<?> ctx, Select<?> select) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Tools.visitSubquery(ctx, select);
|
||||
}
|
||||
|
||||
static final Row removeReadonly(Context<?> ctx, Row row) {
|
||||
return removeReadonly(ctx, row, row);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user