[jOOQ/jOOQ#11369] Emulate using expressions in Db2 DECLARE .. DEFAULT statements

This includes:

- [jOOQ/jOOQ#8230] Fix SIGNAL implementation for Db2
- [jOOQ/jOOQ#11253] Added Context.castMode(CastMode, Consumer)
- [jOOQ/jOOQ#11370] Occasionally repeated BEGIN BEGIN blocks
This commit is contained in:
Lukas Eder 2021-02-04 15:15:47 +01:00
parent 4e6522ab9e
commit 2de44105b7
5 changed files with 34 additions and 2 deletions

View File

@ -719,8 +719,7 @@ public interface Context<C extends Context<C>> extends Scope {
/**
* Set the new context value for {@link #paramType()} for the scope of a
* {@link Consumer}, if a condition is
* true.
* {@link Consumer}, if a condition is true.
*/
@NotNull
C paramTypeIf(ParamType paramType, boolean condition, Consumer<? super C> runnable);
@ -737,6 +736,13 @@ public interface Context<C extends Context<C>> extends Scope {
@NotNull
C castMode(CastMode mode);
/**
* Set the new cast mode for {@link #castMode()} for the scope of a
* {@link Consumer}.
*/
@NotNull
C castMode(CastMode mode, Consumer<? super C> runnable);
/**
* Set the new cast mode for {@link #castMode()}, if a condition is true.
*/

View File

@ -879,6 +879,11 @@ abstract class AbstractContext<C extends Context<C>> extends AbstractScope imple
return (C) this;
}
@Override
public final C castMode(CastMode mode, Consumer<? super C> consumer) {
return toggle(mode, this::castMode, this::castMode, consumer);
}
@Override
public final C castModeIf(CastMode mode, boolean condition) {
if (condition)

View File

@ -331,6 +331,13 @@ final class BlockImpl extends AbstractRowCountQuery implements Block {

View File

@ -190,6 +190,12 @@ package org.jooq.impl;

View File

@ -151,6 +151,14 @@ package org.jooq.impl;