[jOOQ/jOOQ#11015] Fix for Derby as well
This commit is contained in:
parent
c13e781b8a
commit
50458ba9b1
@ -42,6 +42,7 @@ import static org.jooq.Clause.TABLE_VALUES;
|
||||
// ...
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.DERBY;
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.FIREBIRD;
|
||||
// ...
|
||||
@ -105,10 +106,10 @@ implements
|
||||
QOM.Values<R>
|
||||
{
|
||||
|
||||
static final Set<SQLDialect> NO_SUPPORT_VALUES = SQLDialect.supportedUntil(FIREBIRD, MARIADB);
|
||||
static final Set<SQLDialect> REQUIRE_ROWTYPE_CAST = SQLDialect.supportedBy(FIREBIRD);
|
||||
static final Set<SQLDialect> REQUIRE_ROWTYPE_CAST_ON_NULLS = SQLDialect.supportedBy(POSTGRES);
|
||||
static final Set<SQLDialect> NO_SUPPORT_PARENTHESES = SQLDialect.supportedBy();
|
||||
static final Set<SQLDialect> NO_SUPPORT_VALUES = SQLDialect.supportedUntil(FIREBIRD, MARIADB);
|
||||
static final Set<SQLDialect> REQUIRE_ROWTYPE_CAST = SQLDialect.supportedBy(DERBY, FIREBIRD);
|
||||
static final Set<SQLDialect> REQUIRE_ROWTYPE_CAST_FIRST_ROW = SQLDialect.supportedBy(POSTGRES);
|
||||
static final Set<SQLDialect> NO_SUPPORT_PARENTHESES = SQLDialect.supportedBy();
|
||||
|
||||
private final Row[] rows;
|
||||
private transient DataType<?>[] types;
|
||||
@ -293,7 +294,11 @@ implements
|
||||
|
||||
|
||||
// [#11015] NULL literals of known type should be cast in PostgreSQL in the first row
|
||||
if (i == 0 && ctx.family() == POSTGRES)
|
||||
if (i == 0 && REQUIRE_ROWTYPE_CAST_FIRST_ROW.contains(ctx.dialect()))
|
||||
ctx.visit(castNullLiteralToRowType(ctx, rows[i]));
|
||||
|
||||
// [#11015] Or in Derby in any other row, too
|
||||
else if (REQUIRE_ROWTYPE_CAST.contains(ctx.dialect()))
|
||||
ctx.visit(castNullLiteralToRowType(ctx, rows[i]));
|
||||
else
|
||||
ctx.visit(rows[i]);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user