Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 1e6c1cf7

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

  • ID 1e6c1cf78a76370af278f8debb4c3a11cb6798da
  • Vorgänger 20e572be
  • Nachfolger c623caef

GetModels Paginated: Historische Filterduplizierung deaktivieren

Die war noch aus der Zeit vor GetModels, und war nötig damit Paginating
die gleichen Filter hatte wie das Hauptquery. Mittlerweile ist das aber
nicht mehr nötig, weil die GetModels-Architektur die einzelnen Plugins
eh chained.

Beschleunigt einige Queries, wo der Queryplaner in Bedingungen in Joins
die Duplizierung nicht automatisch entfernen kann, und dann in nested
loops nachprüfen muss.

Unterschiede anzeigen:

SL/Controller/Helper/GetModels/Paginated.pm
57 57
    # try to use Filtered if available and nothing else is configured, but don't
58 58
    # blow up if the controller does not use Filtered
59 59
    my %paginate_args     = ref($self->paginate_args) eq 'CODE'       ? %{ $self->paginate_args->($self) }
60
                          :     $self->paginate_args  eq '__FILTER__'
61
                             && $self->get_models->filtered ? $self->get_models->filtered->read_params
62 60
                          :     $self->paginate_args  ne '__FILTER__' ? do { my $sub = $self->paginate_args; %{ $self->get_models->controller->$sub() } }
63 61
                          :                                               ();
64 62

  

Auch abrufbar als: Unified diff