Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 43de7ef1

Von Sven Schöling vor mehr als 7 Jahren hinzugefügt

  • ID 43de7ef11a1fe565968656c24ea0772a60667b3b
  • Vorgänger 1bed9601
  • Nachfolger 6c4b42c0

CustomVariables: Requestlevel Caching für cvars_by_config

- Configs werden jetzt gecacht.
- is_valid wird en bloc vorberechnet und im Objekt gecacht.

Unterschiede anzeigen:

SL/DB/CustomVariable.pm
124 124

  
125 125
  require SL::DB::CustomVariableValidity;
126 126

  
127
  my $query = [config_id => $self->config_id, trans_id => $self->trans_id];
128
  return (SL::DB::Manager::CustomVariableValidity->get_all_count(query => $query) == 0) ? 1 : 0;
127
  # only base level custom variables can be invalid. ovverloaded ones could potentially clash on trans_id, so disallow them
128
  return 1 if $_->sub_module;
129

  
130
  $self->{is_valid} //= do {
131
    my $query = [config_id => $self->config_id, trans_id => $self->trans_id];
132
    (SL::DB::Manager::CustomVariableValidity->get_all_count(query => $query) == 0) ? 1 : 0;
133
  }
129 134
}
130 135

  
131 136
1;

Auch abrufbar als: Unified diff