diff --git a/core/src/main/java/net/lecousin/reactive/data/relational/query/SelectExecution.java b/core/src/main/java/net/lecousin/reactive/data/relational/query/SelectExecution.java index e3ae762..9fc3ffa 100644 --- a/core/src/main/java/net/lecousin/reactive/data/relational/query/SelectExecution.java +++ b/core/src/main/java/net/lecousin/reactive/data/relational/query/SelectExecution.java @@ -264,7 +264,9 @@ private Flux executeWithPreSelect() { Flux> fromDb = buildFinalSql(mapping, Criteria.property(query.from.alias, idPropertyName).in(ids), false, true).execute().fetch().all(); return Flux.create((Consumer>)sink -> { RowHandlerSorted handler = new RowHandlerSorted(mapping, sink, ids); - fromDb.doOnComplete(handler::handleEnd).subscribe(handler::handleRow, sink::error); + fromDb.contextWrite(sink.contextView()) + .doOnComplete(handler::handleEnd) + .subscribe(handler::handleRow, sink::error); }); }); } @@ -274,7 +276,9 @@ private Flux executeWithoutPreSelect() { Flux> fromDb = buildFinalSql(mapping, query.where, true, hasJoinMany()).execute().fetch().all(); return Flux.create((Consumer>)sink -> { RowHandler handler = new RowHandler(mapping, sink); - fromDb.doOnComplete(handler::handleEnd).subscribe(handler::handleRow, sink::error); + fromDb.contextWrite(sink.contextView()) + .doOnComplete(handler::handleEnd) + .subscribe(handler::handleRow, sink::error); }); }