And lose yet another dependency: List::Util (yes, I know it's core)
authorPeter Rabbitson <ribasushi@cpan.org>
Mon, 11 Apr 2016 11:31:18 +0000 (13:31 +0200)
committerPeter Rabbitson <ribasushi@cpan.org>
Tue, 12 Apr 2016 12:48:42 +0000 (14:48 +0200)
commit87b1255103d7b8873b225416cb381c50011f4c06
treeefebec5ad0c78daec2c433e657ef1ba4e4e65c80
parent817ac9e927cd8e29d1bf553714379e54df5dbef7
And lose yet another dependency: List::Util (yes, I know it's core)

The main motivation for this is that first {} is an expensive subcall,
whereas grep is a native fast opcode. Within the entire codebase there
are pretty much no spots where we have so many elements to check, that
the "check everything" of grep will overwhelm the expense of entersub
(in fact 2 calls - one to first() itself, another to the block)

As a side effect the removal of first(), which was the only thing
we used that has known leaks prior to L::U 1.18, lets us drop the
"5.8.8+ or later" List::Util dep entirely (it doesn't matter much
for users, but it stresses the CI even more, which is a good thing)

This cangeset should introduce 0 functional changes
26 files changed:
Makefile.PL
lib/DBIx/Class/Ordered.pm
lib/DBIx/Class/ResultSet.pm
lib/DBIx/Class/ResultSetColumn.pm
lib/DBIx/Class/ResultSource/RowParser.pm
lib/DBIx/Class/Row.pm
lib/DBIx/Class/SQLMaker/LimitDialects.pm
lib/DBIx/Class/Storage/DBI.pm
lib/DBIx/Class/Storage/DBI/ACCESS.pm
lib/DBIx/Class/Storage/DBI/Cursor.pm
lib/DBIx/Class/Storage/DBI/DB2.pm
lib/DBIx/Class/Storage/DBI/Firebird/Common.pm
lib/DBIx/Class/Storage/DBI/IdentityInsert.pm
lib/DBIx/Class/Storage/DBI/MSSQL.pm
lib/DBIx/Class/Storage/DBI/NoBindVars.pm
lib/DBIx/Class/Storage/DBI/Oracle.pm
lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm
lib/DBIx/Class/Storage/DBI/Replicated/Pool.pm
lib/DBIx/Class/Storage/DBI/SQLAnywhere.pm
lib/DBIx/Class/Storage/DBI/Sybase/ASE.pm
lib/DBIx/Class/Storage/DBI/Sybase/ASE/NoBindVars.pm
lib/DBIx/Class/Storage/DBI/mysql.pm
lib/DBIx/Class/Storage/DBIHacks.pm
lib/DBIx/Class/_Util.pm
maint/travis-ci_scripts/30_before_script.bash
xt/dist/pod_coverage.t