-
-
Notifications
You must be signed in to change notification settings - Fork 825
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
Remove '$dao->free()' part 1 #13192
Remove '$dao->free()' part 1 #13192
Conversation
(Standard links)
|
@aydun can you rebase against current master please |
Jenkins retest this please |
@eileenmcnaughton @seamuslee001 This was a quick test - a bit of perl hackery adapted from previous mass changes to docs - to remove exact matches of '$dao->free();' under the CRM tree, and then see how the test suite reacted. The tests ran cleanly here although I wonder how much the tests would actually pick up any issues related to this. How do you want to segment and test this? There are matches under other directories and places where the variable is not '$dao' All can be picked up by tweaking the perl regexp. Maybe:
Each stage requires progressively more review. |
@aydun I'm pretty confident about ripping these out - but I'd probably merge 3-4 files worth now & a few after the rc with an increasing pace - starting with higher traffic files like CRM/Core/DAO.php perhaps in the first round since it would be there is we did see something. |
@eileenmcnaughton Ok, here's 4 for starters |
Merging as per the tag |
Per gitlab The DAO object since ? 4.7.x? has been freed on _destruct. Using the ->free action has been demonstrated to create some rare bugs - ie. because query sets from the outer loop can be lost. There is no benefit in calling it any more and some harm civicrm#13192 was the last one in this series
See https://lab.civicrm.org/dev/core/issues/562
First round: remove lines exactly matching '$dao->free();'