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/TrackingFlags/lib | |
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/TrackingFlags/lib')
-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 |
4 files changed, 31 insertions, 3 deletions
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'}; } |