[jOOQ/jOOQ#15595] DefaultStringBinding should bind java.sql.Clob for
CLOB types in Oracle MERGE statements This includes: - [jOOQ/jOOQ#15724] BindingSetStatementContext should reference actual ExecuteContext, if available
This commit is contained in:
parent
fb351a48f2
commit
28e5653c28
@ -341,7 +341,7 @@ abstract class AbstractQuery<R extends Record> extends AbstractAttachableQueryPa
|
||||
|
||||
listener.bindStart(ctx);
|
||||
if (rendered.bindValues != null)
|
||||
using(c).bindContext(ctx.statement()).visit(rendered.bindValues);
|
||||
new DefaultBindContext(c, ctx, ctx.statement()).visit(rendered.bindValues);
|
||||
listener.bindEnd(ctx);
|
||||
}
|
||||
|
||||
|
||||
@ -574,7 +574,7 @@ implements
|
||||
ctx.statement().setQueryTimeout(t);
|
||||
|
||||
listener.bindStart(ctx);
|
||||
using(configuration).bindContext(ctx.statement()).visit(this);
|
||||
new DefaultBindContext(configuration, ctx, ctx.statement()).visit(this);
|
||||
registerOutParameters(ctx);
|
||||
listener.bindEnd(ctx);
|
||||
|
||||
|
||||
@ -62,9 +62,14 @@ final class DefaultBindContext extends AbstractBindContext {
|
||||
int nextIndex = nextIndex();
|
||||
|
||||
try {
|
||||
((Field<Object>) field).getBinding().set(
|
||||
new DefaultBindingSetStatementContext<>(new SimpleExecuteContext(configuration(), data()), stmt, nextIndex, value)
|
||||
);
|
||||
((Field<Object>) field).getBinding().set(new DefaultBindingSetStatementContext<>(
|
||||
executeContext() != null
|
||||
? executeContext()
|
||||
: new SimpleExecuteContext(configuration(), data()),
|
||||
stmt,
|
||||
nextIndex,
|
||||
value
|
||||
));
|
||||
}
|
||||
|
||||
// [#14696] Maintain SQLState and ErrorCode if the exception is from the driver
|
||||
|
||||
@ -282,6 +282,7 @@ import org.jooq.exception.MappingException;
|
||||
import org.jooq.exception.SQLDialectNotSupportedException;
|
||||
import org.jooq.impl.Cast.CastNative;
|
||||
import org.jooq.impl.R2DBC.R2DBCPreparedStatement;
|
||||
import org.jooq.impl.Tools.ExtendedDataKey;
|
||||
import org.jooq.tools.JooqLogger;
|
||||
import org.jooq.tools.Longs;
|
||||
import org.jooq.tools.StringUtils;
|
||||
@ -4529,6 +4530,17 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
|
||||
|
||||
@Override
|
||||
final void set0(BindingSetStatementContext<U> ctx, String value) throws SQLException {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ctx.statement().setString(ctx.index(), value);
|
||||
}
|
||||
|
||||
|
||||
@ -1313,6 +1313,12 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (with != null)
|
||||
ctx.visit(with);
|
||||
|
||||
|
||||
@ -935,6 +935,12 @@ final class Tools {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user