chore(system): replace DSL.trueCondition by DSL.noCondition

jOOQ will then generates a query with no WHERE clause or no AND clause instead of WHERE true or WHERE 1=1
This commit is contained in:
Loïc Mathieu
2025-11-19 13:35:31 +01:00
parent 312ec2c36b
commit b3bbedaeff
24 changed files with 52 additions and 55 deletions

View File

@@ -16,6 +16,6 @@ public abstract class H2DashboardRepositoryService {
conditions.add(jdbcRepository.fullTextCondition(List.of("fulltext"), query));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -32,7 +32,7 @@ public abstract class H2ExecutionRepositoryService {
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
public static Condition findLabelCondition(Either<Map<?, ?>, String> input, QueryFilter.Op operation) {
@@ -64,6 +64,6 @@ public abstract class H2ExecutionRepositoryService {
if (!inConditions.isEmpty()) {
conditions.add(DSL.or(inConditions));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -31,7 +31,7 @@ public abstract class H2FlowRepositoryService {
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
public static Condition findSourceCodeCondition(AbstractJdbcRepository<? extends FlowInterface> jdbcRepository, String query) {
@@ -54,6 +54,6 @@ public abstract class H2FlowRepositoryService {
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -16,6 +16,6 @@ public abstract class H2KvMetadataRepositoryService {
conditions.add(jdbcRepository.fullTextCondition(List.of("fulltext"), query));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -76,7 +76,7 @@ public class H2Repository<T> extends io.kestra.jdbc.AbstractJdbcRepository<T> {
public Condition fullTextCondition(List<String> fields, String query) {
if (query == null || query.equals("*")) {
return DSL.trueCondition();
return DSL.noCondition();
}
if (fields.size() > 1) {
@@ -105,12 +105,12 @@ public class H2Repository<T> extends io.kestra.jdbc.AbstractJdbcRepository<T> {
.sort(select, pageable)
.asTable("page")
)
.where(DSL.trueCondition()),
.where(DSL.noCondition()),
pageable
)
.fetch();
Integer totalCount = results.size() > 0 ? results.getFirst().get("total_count", Integer.class) : 0;
Integer totalCount = !results.isEmpty() ? results.getFirst().get("total_count", Integer.class) : 0;
List<E> map = results
.map((Record record) -> mapper.map((R) record));

View File

@@ -17,6 +17,6 @@ public abstract class MysqlDashboardRepositoryService {
conditions.add(jdbcRepository.fullTextCondition(Arrays.asList("title"), query));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -27,7 +27,7 @@ public abstract class MysqlExecutionRepositoryService {
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
public static Condition findLabelCondition(Either<Map<?, ?>, String> input, QueryFilter.Op operation) {
@@ -63,7 +63,7 @@ public abstract class MysqlExecutionRepositoryService {
if(!inConditions.isEmpty()){
conditions.add(DSL.or(inConditions));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -27,7 +27,7 @@ public abstract class MysqlFlowRepositoryService {
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
public static Condition findSourceCodeCondition(AbstractJdbcRepository<? extends FlowInterface> jdbcRepository, String query) {
@@ -45,6 +45,6 @@ public abstract class MysqlFlowRepositoryService {
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -16,6 +16,6 @@ public abstract class MysqlKvMetadataRepositoryService {
conditions.add(jdbcRepository.fullTextCondition(List.of("name"), query));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -43,7 +43,7 @@ public class MysqlRepository<T> extends AbstractJdbcRepository<T> {
@Override
public Condition fullTextCondition(List<String> fields, String query) {
if (query == null || query.equals("*")) {
return DSL.trueCondition();
return DSL.noCondition();
}
String match = Arrays

View File

@@ -33,7 +33,7 @@ public class MysqlTriggerRepository extends AbstractJdbcTriggerRepository {
@Override
protected Condition fullTextCondition(String query) {
return query == null ? DSL.trueCondition() : jdbcRepository.fullTextCondition(List.of("namespace", "flow_id", "trigger_id", "execution_id"), query);
return query == null ? DSL.noCondition() : jdbcRepository.fullTextCondition(List.of("namespace", "flow_id", "trigger_id", "execution_id"), query);
}
@Override

View File

@@ -17,6 +17,6 @@ public abstract class PostgresDashboardRepositoryService {
conditions.add(jdbcRepository.fullTextCondition(Collections.singletonList("fulltext"), query));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -26,7 +26,7 @@ public abstract class PostgresExecutionRepositoryService {
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
public static Condition findLabelCondition(Either<Map<?, ?>, String> input, QueryFilter.Op operation) {
@@ -60,7 +60,7 @@ public abstract class PostgresExecutionRepositoryService {
if (!inConditions.isEmpty()) {
conditions.add(DSL.or(inConditions));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
public static Condition statesFilter(List<State.Type> state) {

View File

@@ -28,7 +28,7 @@ public abstract class PostgresFlowRepositoryService {
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
public static Condition findSourceCodeCondition(AbstractJdbcRepository<? extends FlowInterface> jdbcRepository, String query) {
@@ -49,7 +49,7 @@ public abstract class PostgresFlowRepositoryService {
}
});
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}

View File

@@ -16,6 +16,6 @@ public abstract class PostgresKvMetadataRepositoryService {
conditions.add(jdbcRepository.fullTextCondition(List.of("fulltext"), query));
}
return conditions.isEmpty() ? DSL.trueCondition() : DSL.and(conditions);
return conditions.isEmpty() ? DSL.noCondition() : DSL.and(conditions);
}
}

View File

@@ -42,7 +42,7 @@ public class PostgresRepository<T> extends io.kestra.jdbc.AbstractJdbcRepository
@Override
public Condition fullTextCondition(List<String> fields, String query) {
if (query == null || query.equals("*")) {
return DSL.trueCondition();
return DSL.noCondition();
}
if (fields.size() > 1) {
@@ -106,7 +106,7 @@ public class PostgresRepository<T> extends io.kestra.jdbc.AbstractJdbcRepository
.sort(select, pageable)
.asTable("page")
)
.where(DSL.trueCondition()),
.where(DSL.noCondition()),
pageable
)
.fetch();

View File

@@ -74,7 +74,7 @@ public abstract class AbstractJdbcRepository<T> {
.of(io.kestra.jdbc.repository.AbstractJdbcRepository.field("value"), MAPPER.writeValueAsString(entity))
);
}
public int count(Condition condition) {
return getDslContextWrapper()
.transactionResult(configuration -> DSL
@@ -85,7 +85,7 @@ public abstract class AbstractJdbcRepository<T> {
.fetchOne(0, Integer.class)
);
}
public void persist(T entity) {
this.persist(entity, null);
}
@@ -223,8 +223,7 @@ public abstract class AbstractJdbcRepository<T> {
.from(this
.sort(select, Pageable.from(Sort.of(Order.asc(orderField))))
.asTable("page")
)
.where(DSL.trueCondition());
);
}
@SneakyThrows

View File

@@ -21,7 +21,7 @@ import java.util.stream.Stream;
* NOTE: it uses the <code>defaultFilter(tenantId)</code> for querying.
* If the child repository uses a default filter, it should override it.
* <p>
* For example, to avoid supporting allowDeleted:
* For example, to avoid supporting the <code>deleted</code> column:
* <pre>{@code
* @Override
* protected Condition defaultFilter(String tenantId) {
@@ -30,7 +30,7 @@ import java.util.stream.Stream;
*
* @Override
* protected Condition defaultFilter() {
* return DSL.trueCondition();
* return DSL.noCondition();
* }
* }</pre>
*

View File

@@ -770,18 +770,16 @@ public abstract class AbstractJdbcExecutionRepository extends AbstractJdbcCrudRe
.from(this.jdbcRepository.getTable())
.where(this.defaultFilter(tenantId))
.and(NORMAL_KIND_CONDITION)
.and(DSL.or(
ListUtils.emptyOnNull(flows).isEmpty() ?
DSL.trueCondition()
.and(ListUtils.isEmpty(flows) ?
DSL.noCondition()
:
DSL.or(
flows.stream()
.map(flow -> DSL.and(
field("namespace").eq(flow.getNamespace()),
field("flow_id").eq(flow.getId())
))
.toList()
)
DSL.or(
flows.stream()
.map(flow -> DSL.and(
field("namespace").eq(flow.getNamespace()),
field("flow_id").eq(flow.getId())
))
.toList()
)
);

View File

@@ -55,7 +55,7 @@ public abstract class AbstractJdbcKvMetadataRepository extends AbstractJdbcCrudR
boolean allowExpired,
FetchVersion fetchBehavior
) {
var condition = allowExpired ? DSL.trueCondition() : DSL.or(
var condition = allowExpired ? DSL.noCondition() : DSL.or(
field("expiration_date").greaterThan(Instant.now()),
field("expiration_date").isNull());

View File

@@ -34,12 +34,12 @@ public abstract class AbstractJdbcSettingRepository extends AbstractJdbcCrudRepo
@Override
public Optional<Setting> findByKey(String key) {
return findOne(DSL.trueCondition(), field("key").eq(key));
return findOne(DSL.noCondition(), field("key").eq(key));
}
@Override
public List<Setting> findAll() {
return findAll(DSL.trueCondition());
return findAll(DSL.noCondition());
}
@Override
@@ -72,6 +72,6 @@ public abstract class AbstractJdbcSettingRepository extends AbstractJdbcCrudRepo
@Override
protected Condition defaultFilter() {
return DSL.trueCondition();
return DSL.noCondition();
}
}

View File

@@ -64,7 +64,7 @@ public abstract class AbstractJdbcTemplateRepository extends AbstractJdbcCrudRep
}
private Condition computeCondition(@Nullable String query, @Nullable String namespace) {
Condition condition = DSL.trueCondition();
Condition condition = DSL.noCondition();
if (query != null) {
condition = condition.and(this.findCondition(query));

View File

@@ -72,7 +72,7 @@ public abstract class AbstractJdbcTriggerRepository extends AbstractJdbcCrudRepo
@Override
public Optional<Trigger> findLast(TriggerContext trigger) {
return findOne(DSL.trueCondition(), field("key").eq(trigger.uid()));
return findOne(DSL.noCondition(), field("key").eq(trigger.uid()));
}
@Override
@@ -82,7 +82,7 @@ public abstract class AbstractJdbcTriggerRepository extends AbstractJdbcCrudRepo
public List<Trigger> findByNextExecutionDateReadyForAllTenants(ZonedDateTime now, ScheduleContextInterface scheduleContextInterface) {
JdbcSchedulerContext jdbcSchedulerContext = (JdbcSchedulerContext) scheduleContextInterface;
return jdbcSchedulerContext.getContext()
.select(field("value"))
.from(this.jdbcRepository.getTable())
@@ -98,9 +98,9 @@ public abstract class AbstractJdbcTriggerRepository extends AbstractJdbcCrudRepo
.fetch()
.map(r -> this.jdbcRepository.deserialize(r.get("value", String.class)));
}
public List<Trigger> findByNextExecutionDateReadyButLockedTriggers(ZonedDateTime now) {
return this.jdbcRepository.getDslContextWrapper()
.transactionResult(configuration -> DSL.using(configuration)
.select(field("value"))
@@ -115,7 +115,7 @@ public abstract class AbstractJdbcTriggerRepository extends AbstractJdbcCrudRepo
.fetch()
.map(r -> this.jdbcRepository.deserialize(r.get("value", String.class))));
}
protected Temporal toNextExecutionTime(ZonedDateTime now) {
return now.toOffsetDateTime();
}
@@ -231,7 +231,7 @@ public abstract class AbstractJdbcTriggerRepository extends AbstractJdbcCrudRepo
}
protected Condition fullTextCondition(String query) {
return query == null ? DSL.trueCondition() : jdbcRepository.fullTextCondition(List.of("fulltext"), query);
return query == null ? DSL.noCondition() : jdbcRepository.fullTextCondition(List.of("fulltext"), query);
}
@Override
@@ -246,7 +246,7 @@ public abstract class AbstractJdbcTriggerRepository extends AbstractJdbcCrudRepo
@Override
protected Condition defaultFilter() {
return DSL.trueCondition();
return DSL.noCondition();
}
@Override

View File

@@ -68,7 +68,7 @@ public abstract class JdbcFlowRepositoryService {
});
}
return conditions.size() == 0 ? DSL.trueCondition() : DSL.and(conditions);
return conditions.size() == 0 ? DSL.noCondition() : DSL.and(conditions);
}
public static Condition findSourceCodeCondition(AbstractJdbcRepository<Flow> jdbcRepository, String query) {