-
Notifications
You must be signed in to change notification settings - Fork 150
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Modify the null-branch pruning introduced in ce55688, restore compat
In the case of "direct to HRI" we want to throw stuff away as before. In other cases however we no longer take an educated guess when to prune. Instead we mark each null-branch by simply blessing its containing arrayref. This allows us to keep the arguments to inflate_result 100% backwards compatible, while at the same time allowing "enlightened" inflate_result implementations to skip over the dead branches with minimal effort. Both ::Row::inflate_result and ::HRI::inflate_result were adjusted to react correctly to these marks. As a result the HRI folder gained another 5% speedup (unless sidestepped by the direct-to-HRI code, which is naturally much much more efficient). The current name of the "null class" is stored in the global $DBIx::Class::ResultSource::RowParser::Util::null_branch_class. Given that the entire codebase begs for standalone CPAN extraction this should do for the time being. While implementing the test changes it became clear that Test::More::is_deeply does not cut it (it ignores the blessed-ness of structures by design: Test-More/test-more#347). As a result a dep on Test::Deep was added, and several of the tests looking at inflate_result RVs were converted.
- Loading branch information
Showing
15 changed files
with
322 additions
and
536 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.