From f332813ca14be081e4c7d94ba74ca719b0cfe702 Mon Sep 17 00:00:00 2001 From: "coderabbitai[bot]" <136622811+coderabbitai[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 10:00:02 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20CodeRabbit=20Chat:=20Implement?= =?UTF-8?q?=20requested=20code=20changes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../za/co/absa/db/fadb/doobie/DoobieFunction.scala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/doobie/src/main/scala/za/co/absa/db/fadb/doobie/DoobieFunction.scala b/doobie/src/main/scala/za/co/absa/db/fadb/doobie/DoobieFunction.scala index 6be2e7a8..dc88239d 100644 --- a/doobie/src/main/scala/za/co/absa/db/fadb/doobie/DoobieFunction.scala +++ b/doobie/src/main/scala/za/co/absa/db/fadb/doobie/DoobieFunction.scala @@ -286,7 +286,10 @@ object DoobieFunction { * @return the `ConnectionIO[FailedOrRow[R]]` representing the database function call */ def toConnectionIOSingle(values: I): ConnectionIO[FailedOrRow[R]] = { - toConnectionIO(values).map(_.head) + val fragments = toFragmentsSeq(values) + val fragment = composeFragments(fragments) + val queryWithStatus = new DoobieQueryWithStatus[R](fragment, checkStatus) + fragment.query[StatusWithData[R]].unique.map(queryWithStatus.getResultOrException) } } @@ -379,7 +382,10 @@ object DoobieFunction { * @return the `ConnectionIO[Option[FailedOrRow[R]]]` representing the database function call */ def toConnectionIOOptional(values: I): ConnectionIO[Option[FailedOrRow[R]]] = { - toConnectionIO(values).map(_.headOption) + val fragments = toFragmentsSeq(values) + val fragment = composeFragments(fragments) + val queryWithStatus = new DoobieQueryWithStatus[R](fragment, checkStatus) + fragment.query[StatusWithData[R]].option.map(_.map(queryWithStatus.getResultOrException)) } } }