nextRowset support dropped in Doctrine 2 / handling multi-rowset statements not officially possible #5131

Closed
opened 2026-01-22 14:59:08 +01:00 by admin · 2 comments
Owner

Originally created by @tufan-yoc on GitHub (May 25, 2016).

Originally assigned to: @Ocramius on GitHub.

Hello,
Doctrine 1 supported nextRowset to handle a multi-rowset statement.(see Connection/Statement.php)

It seems there's no replacement for this in doctrine 2 -at least I was unable to find any.
Handling multiple result sets in doctrine 2 is only possible with wrapped PDO connections, which is actually a workaround.

As developers of a database centric application, with lots of business logic concentrated in the database, we miss this in our daily work.

Please implement official support for multi-rowset statements.

(...or point me on the documentation for this in doctrine 2) .

Thank you very much.

Tufan.

Originally created by @tufan-yoc on GitHub (May 25, 2016). Originally assigned to: @Ocramius on GitHub. Hello, Doctrine 1 supported nextRowset to handle a multi-rowset statement.(see [Connection/Statement.php](https://github.com/doctrine/doctrine1/blob/master/lib/Doctrine/Connection/Statement.php#L428)) It seems there's no replacement for this in doctrine 2 -at least I was unable to find any. Handling multiple result sets in doctrine 2 is only possible with wrapped PDO connections, which is actually a workaround. As developers of a database centric application, with lots of business logic concentrated in the database, we miss this in our daily work. Please implement official support for multi-rowset statements. (...or point me on the documentation for this in doctrine 2) . Thank you very much. Tufan.
admin added the Can't Fix label 2026-01-22 14:59:08 +01:00
admin closed this issue 2026-01-22 14:59:09 +01:00
Author
Owner

@Ocramius commented on GitHub (May 25, 2016):

From the documentation of the method that you linked:

Some database servers support stored procedures that return more than one rowset

This is an absolute no-go for doctrine2, as we only provide implementation for baseline functionality available in all the supported RDBMSs.

Therefore, such a feature cannot be implemented in the ORM.

As developers of a database centric application, with lots of business logic concentrated in the database, we miss this in our daily work.

If your application is database-centric, then you shouldn't rely heavily on the ORM, as it is built to pretty much nullify any DB-level business logic, treating the DB as a dumb storage layer, by design.
These are scenarios where using PDO or the underlying connection layer makes much more sense than relying on an abstraction.

Closing as "can't fix".

@Ocramius commented on GitHub (May 25, 2016): From the documentation of the method that you linked: > Some database servers support stored procedures that return more than one rowset This is an absolute no-go for doctrine2, as we only provide implementation for baseline functionality available in all the supported RDBMSs. Therefore, such a feature cannot be implemented in the ORM. > As developers of a database centric application, with lots of business logic concentrated in the database, we miss this in our daily work. If your application is database-centric, then you shouldn't rely heavily on the ORM, as it is built to pretty much nullify any DB-level business logic, treating the DB as a dumb storage layer, by design. These are scenarios where using PDO or the underlying connection layer makes much more sense than relying on an abstraction. Closing as "can't fix".
Author
Owner

@tufan-yoc commented on GitHub (May 25, 2016):

Thank you very much for your feedback.
Indeed, we do not rely on doctrine as a classical ORM layer, knowing this is one of the core ideas behind doctrine though.
How we use doctrine in our environment is quite different than many would expect; but this a different topic...

In this scope nextRowset would be an improvement for us. But I understand your point. Thanks for sharing the idea behind the decision.

@tufan-yoc commented on GitHub (May 25, 2016): Thank you very much for your feedback. Indeed, we do not rely on doctrine as a classical ORM layer, knowing this is one of the core ideas behind doctrine though. How we use doctrine in our environment is quite different than many would expect; but this a different topic... In this scope nextRowset would be an improvement for us. But I understand your point. Thanks for sharing the idea behind the decision.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: doctrine/archived-orm#5131