diff options
author | Upasana <upasana-me@users.noreply.github.com> | 2018-03-05 00:58:41 +0100 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2018-03-05 00:58:41 +0100 |
commit | ed53ecda0546d6c639fa3d227a59ace4d57b81a5 (patch) | |
tree | e716548b5b3b6129396bb559ab2acb32fcfad09d /extensions | |
parent | 456dd5df6dfc799d72d446541ce5da147917db6e (diff) | |
download | bugzilla-ed53ecda0546d6c639fa3d227a59ace4d57b81a5.tar.gz bugzilla-ed53ecda0546d6c639fa3d227a59ace4d57b81a5.tar.xz |
Bug 1273381 - Improve bugzilla object performance by using Class::XSAccessor for object accessors
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/BugmailFilter/lib/Filter.pm | 6 | ||||
-rw-r--r-- | extensions/MyDashboard/lib/BugInterest.pm | 8 | ||||
-rw-r--r-- | extensions/Push/lib/BacklogMessage.pm | 7 | ||||
-rw-r--r-- | extensions/Push/lib/Backoff.pm | 7 | ||||
-rw-r--r-- | extensions/Push/lib/LogEntry.pm | 7 | ||||
-rw-r--r-- | extensions/Push/lib/Message.pm | 6 | ||||
-rw-r--r-- | extensions/Push/lib/Option.pm | 9 | ||||
-rw-r--r-- | extensions/Review/lib/FlagStateActivity.pm | 10 | ||||
-rw-r--r-- | extensions/TrackingFlags/lib/Flag.pm | 11 | ||||
-rw-r--r-- | extensions/TrackingFlags/lib/Flag/Bug.pm | 7 | ||||
-rw-r--r-- | extensions/TrackingFlags/lib/Flag/Value.pm | 9 | ||||
-rw-r--r-- | extensions/TrackingFlags/lib/Flag/Visibility.pm | 7 |
12 files changed, 88 insertions, 6 deletions
diff --git a/extensions/BugmailFilter/lib/Filter.pm b/extensions/BugmailFilter/lib/Filter.pm index 7f2f4cb87..e7e339cd4 100644 --- a/extensions/BugmailFilter/lib/Filter.pm +++ b/extensions/BugmailFilter/lib/Filter.pm @@ -54,6 +54,12 @@ use constant AUDIT_REMOVES => 0; use constant USE_MEMCACHED => 0; # getters +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; sub user { my ($self) = @_; diff --git a/extensions/MyDashboard/lib/BugInterest.pm b/extensions/MyDashboard/lib/BugInterest.pm index cf33900c5..2e8655261 100644 --- a/extensions/MyDashboard/lib/BugInterest.pm +++ b/extensions/MyDashboard/lib/BugInterest.pm @@ -34,7 +34,13 @@ use constant { AUDIT_CREATES => 0, # Provide accessors for our columns ##################################################################### -sub id { return $_[0]->{id} } +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; + sub bug_id { return $_[0]->{bug_id} } sub user_id { return $_[0]->{user_id} } sub modification_time { return $_[0]->{modification_time} } diff --git a/extensions/Push/lib/BacklogMessage.pm b/extensions/Push/lib/BacklogMessage.pm index 28b17bae3..7c248a501 100644 --- a/extensions/Push/lib/BacklogMessage.pm +++ b/extensions/Push/lib/BacklogMessage.pm @@ -79,6 +79,13 @@ sub create_from_message { # accessors # +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; + sub message_id { return $_[0]->{'message_id'} } sub push_ts { return $_[0]->{'push_ts'}; } sub payload { return $_[0]->{'payload'}; } diff --git a/extensions/Push/lib/Backoff.pm b/extensions/Push/lib/Backoff.pm index f0116a2a7..d0de1310d 100644 --- a/extensions/Push/lib/Backoff.pm +++ b/extensions/Push/lib/Backoff.pm @@ -47,6 +47,13 @@ use constant LIST_ORDER => 'next_attempt_ts'; # accessors # +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; + sub connector { return $_[0]->{'connector'}; } sub next_attempt_ts { return $_[0]->{'next_attempt_ts'}; } sub attempts { return $_[0]->{'attempts'}; } diff --git a/extensions/Push/lib/LogEntry.pm b/extensions/Push/lib/LogEntry.pm index f4e894b94..2d45b9ee1 100644 --- a/extensions/Push/lib/LogEntry.pm +++ b/extensions/Push/lib/LogEntry.pm @@ -48,6 +48,13 @@ use constant LIST_ORDER => 'processed_ts DESC'; # accessors # +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; + sub message_id { return $_[0]->{'message_id'}; } sub change_set { return $_[0]->{'change_set'}; } sub routing_key { return $_[0]->{'routing_key'}; } diff --git a/extensions/Push/lib/Message.pm b/extensions/Push/lib/Message.pm index 1beb18ef0..d8a7f7a26 100644 --- a/extensions/Push/lib/Message.pm +++ b/extensions/Push/lib/Message.pm @@ -61,6 +61,12 @@ sub create_from_transient { # # accessors # +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; sub push_ts { return $_[0]->{'push_ts'}; } sub payload { return $_[0]->{'payload'}; } diff --git a/extensions/Push/lib/Option.pm b/extensions/Push/lib/Option.pm index a08e4c11d..c2e23d513 100644 --- a/extensions/Push/lib/Option.pm +++ b/extensions/Push/lib/Option.pm @@ -35,13 +35,18 @@ use constant VALIDATORS => { connector => \&_check_connector, }; use constant LIST_ORDER => 'connector'; - +use constant NAME_FIELD => 'option_name'; # # accessors # +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; sub connector { return $_[0]->{'connector'}; } -sub name { return $_[0]->{'option_name'}; } sub value { return $_[0]->{'option_value'}; } # diff --git a/extensions/Review/lib/FlagStateActivity.pm b/extensions/Review/lib/FlagStateActivity.pm index 35da42351..fcc799a79 100644 --- a/extensions/Review/lib/FlagStateActivity.pm +++ b/extensions/Review/lib/FlagStateActivity.pm @@ -35,6 +35,16 @@ use constant DB_COLUMNS => qw( status ); +############################### +#### Accessors ###### +############################### + +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; sub _check_param_required { my ($param) = @_; diff --git a/extensions/TrackingFlags/lib/Flag.pm b/extensions/TrackingFlags/lib/Flag.pm index 82c0314e3..f54e42a7a 100644 --- a/extensions/TrackingFlags/lib/Flag.pm +++ b/extensions/TrackingFlags/lib/Flag.pm @@ -376,8 +376,16 @@ sub set_is_active { $_[0]->set('is_active', $_[1]); } #### Accessors #### ############################### +use constant ID_FIELD => 'field_id'; + +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; + sub flag_id { return $_[0]->{'id'}; } -sub name { return $_[0]->{'name'}; } sub description { return $_[0]->{'description'}; } sub flag_type { return $_[0]->{'type'}; } sub sortkey { return $_[0]->{'sortkey'}; } @@ -460,7 +468,6 @@ sub activity_count { # Here we return 'field_id' instead of the real # id as we want other Bugzilla code to treat this # as a Bugzilla::Field object in certain places. -sub id { return $_[0]->{'field_id'}; } sub type { return FIELD_TYPE_EXTENSION; } sub legal_values { return $_[0]->values; } sub custom { return 1; } diff --git a/extensions/TrackingFlags/lib/Flag/Bug.pm b/extensions/TrackingFlags/lib/Flag/Bug.pm index 7be661720..62f103ee5 100644 --- a/extensions/TrackingFlags/lib/Flag/Bug.pm +++ b/extensions/TrackingFlags/lib/Flag/Bug.pm @@ -169,6 +169,13 @@ sub set_value { $_[0]->set('value', $_[1]); } #### Accessors #### ############################### +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; + sub tracking_flag_id { return $_[0]->{'tracking_flag_id'}; } sub bug_id { return $_[0]->{'bug_id'}; } sub value { return $_[0]->{'value'}; } diff --git a/extensions/TrackingFlags/lib/Flag/Value.pm b/extensions/TrackingFlags/lib/Flag/Value.pm index 4f2aacc3a..c1b3ef4f1 100644 --- a/extensions/TrackingFlags/lib/Flag/Value.pm +++ b/extensions/TrackingFlags/lib/Flag/Value.pm @@ -35,6 +35,7 @@ use constant DB_COLUMNS => qw( ); use constant LIST_ORDER => 'sortkey'; +use constant NAME_FIELD => 'value'; use constant UPDATE_COLUMNS => qw( setter_group_id @@ -111,6 +112,13 @@ sub set_comment { $_[0]->set('comment', $_[1]); } #### Accessors #### ############################### +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; + sub tracking_flag_id { return $_[0]->{'tracking_flag_id'}; } sub setter_group_id { return $_[0]->{'setter_group_id'}; } sub value { return $_[0]->{'value'}; } @@ -140,7 +148,6 @@ sub setter_group { ## Compatibility with Bugzilla::Field ## ######################################## -sub name { return $_[0]->{'value'}; } sub is_visible_on_bug { return 1; } 1; diff --git a/extensions/TrackingFlags/lib/Flag/Visibility.pm b/extensions/TrackingFlags/lib/Flag/Visibility.pm index 878c16f99..a16ddfe75 100644 --- a/extensions/TrackingFlags/lib/Flag/Visibility.pm +++ b/extensions/TrackingFlags/lib/Flag/Visibility.pm @@ -147,6 +147,13 @@ sub _check_component { #### Accessors #### ############################### +use Class::XSAccessor { + accessors => { + id => __PACKAGE__->ID_FIELD, + name => __PACKAGE__->NAME_FIELD, + }, +}; + sub tracking_flag_id { return $_[0]->{'tracking_flag_id'}; } sub product_id { return $_[0]->{'product_id'}; } sub component_id { return $_[0]->{'component_id'}; } |