[jOOQ/jOOQ#9085] Generate FILTER clause by default

This commit is contained in:
Lukas Eder 2023-02-06 09:04:01 +01:00
parent a8df679ebd
commit 7e88f67c7c

View File

@ -42,7 +42,7 @@ import static java.util.function.Function.identity;
// ...
// ...
// ...
// ...
import static org.jooq.SQLDialect.*;
import static org.jooq.SQLDialect.FIREBIRD;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
@ -112,7 +112,7 @@ implements
static final Set<SQLDialect> SUPPORT_FILTER = SQLDialect.supportedBy(FIREBIRD, H2, HSQLDB, POSTGRES, SQLITE, YUGABYTEDB);
static final Set<SQLDialect> NO_SUPPORT_FILTER = SQLDialect.supportedUntil(CUBRID, DERBY, IGNITE, MARIADB, MYSQL);
static final Set<SQLDialect> SUPPORT_DISTINCT_RVE = SQLDialect.supportedBy(H2, POSTGRES);
static final Field<Integer> ASTERISK = DSL.field(DSL.raw("*"), Integer.class);
@ -285,7 +285,7 @@ implements
}
final void acceptArguments3(Context<?> ctx, QueryPartCollectionView<Field<?>> args, Function<? super Field<?>, ? extends Field<?>> fun) {
if (!filter.hasWhere() || SUPPORT_FILTER.contains(ctx.dialect()))
if (!filter.hasWhere() || !NO_SUPPORT_FILTER.contains(ctx.dialect()))
ctx.visit(wrap(args).map(fun));
@ -326,7 +326,7 @@ implements
default:
if (SUPPORT_FILTER.contains(ctx.dialect()))
if (!NO_SUPPORT_FILTER.contains(ctx.dialect()))
ctx.sql(' ')
.visit(K_FILTER)
.sql(" (")