Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed issue #2633 #9606

Open
wants to merge 2 commits into
base: 2.11.x
Choose a base branch
from

Conversation

grossmannmartin
Copy link

Fixes issue #2633
Items in $rowData['data'] in ArrayHydrator is now sorted by level obtained from ResultSetMapping::$parentAliasMap

ArrayHydrator now considers the set mapping to correctly provide data.

@derrabus derrabus added the Bug label Mar 25, 2022
Items in $rowData['data'] in ArrayHydrator is now sorted  by level obtained from ResultSetMapping::$parentAliasMap
Co-authored-by: Alexander M. Turek <me@derrabus.de>
@beberlei
Copy link
Member

All this code is executed on processing every row over and over again. This needs a performance evaluation.

Is it possible to move some or all of this logic into the prepare state?

@beberlei
Copy link
Member

To summarize It requires two foreach, sorting and merging. Effectively adding 4O(N) to the inside of an existing loop, thats my concern

@grossmannmartin
Copy link
Author

I understand your concerns... I'm not sure about moving to the prepared state.
Maybe reorder parameters in the Native(Abstract)Query? TBH, I don't understand the internals well enough to be sure.

It is worth mentioning that hydrating into objects works just fine, any idea how is that possible?

@grossmannmartin
Copy link
Author

Hi,
Is anything I can do to help push this issue?
In the current state it seems like possible performance degradation, so can you please hint me with another options to investigate to solve this issue better?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants