From ec2e4a0902dcfcde12af568fa40f70bdd6114b0e Mon Sep 17 00:00:00 2001 From: Frédéric Buclin Date: Wed, 29 Feb 2012 00:00:12 +0100 Subject: Bug 528918: Bugzilla::Object->match() shouldn't call _check_field() when the field being passed can be trusted (deserialising the DB schema is slow) r=dkl a=LpSolit --- Bugzilla/Object.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'Bugzilla/Object.pm') diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm index 1b0af509d..c606540fa 100644 --- a/Bugzilla/Object.pm +++ b/Bugzilla/Object.pm @@ -214,8 +214,11 @@ sub match { } next; } - - $class->_check_field($field, 'match'); + + # It's always safe to use the field defined by classes as being + # their ID field. In particular, this means that new_from_list() + # is exempted from this check. + $class->_check_field($field, 'match') unless $field eq $class->ID_FIELD; if (ref $value eq 'ARRAY') { # IN () is invalid SQL, and if we have an empty list -- cgit v1.2.3-24-g4f1b