This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch postgresql in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 719277ce83cc010a647bb5bbae61db83ee4e0ed5 Author: TungTV <vtt...@linagora.com> AuthorDate: Thu Nov 28 09:05:41 2024 +0700 JAMES-2586 - Optimize `PostgresUsersDAO.listReactive` method --- .../java/org/apache/james/user/postgres/PostgresUsersDAO.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/server/data/data-postgres/src/main/java/org/apache/james/user/postgres/PostgresUsersDAO.java b/server/data/data-postgres/src/main/java/org/apache/james/user/postgres/PostgresUsersDAO.java index 04c53d38a2..b28645f666 100644 --- a/server/data/data-postgres/src/main/java/org/apache/james/user/postgres/PostgresUsersDAO.java +++ b/server/data/data-postgres/src/main/java/org/apache/james/user/postgres/PostgresUsersDAO.java @@ -20,6 +20,7 @@ package org.apache.james.user.postgres; import static org.apache.james.backends.postgres.utils.PostgresExecutor.DEFAULT_INJECT; +import static org.apache.james.backends.postgres.utils.PostgresExecutor.EAGER_FETCH; import static org.apache.james.user.postgres.PostgresUserModule.PostgresUserTable.ALGORITHM; import static org.apache.james.user.postgres.PostgresUserModule.PostgresUserTable.AUTHORIZED_USERS; import static org.apache.james.user.postgres.PostgresUserModule.PostgresUserTable.DELEGATED_USERS; @@ -32,7 +33,6 @@ import static org.jooq.impl.DSL.count; import java.util.Iterator; import java.util.Optional; -import java.util.function.Function; import jakarta.inject.Inject; import jakarta.inject.Named; @@ -141,10 +141,9 @@ public class PostgresUsersDAO implements UsersDAO { @Override public Flux<Username> listReactive() { - return postgresExecutor.executeRows(dslContext -> Flux.from(dslContext.selectFrom(TABLE_NAME))) - .map(record -> Username.of(record.get(USERNAME))) - .collectList() - .flatMapIterable(Function.identity()); + return postgresExecutor.executeRows(dslContext -> Flux.from(dslContext.select(USERNAME) + .from(TABLE_NAME)), EAGER_FETCH) + .map(record -> Username.of(record.get(USERNAME))); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org