Nicht immer alle Session-Werte automatisch laden und parsen
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 23 Jun 2011 08:39:34 +0000 (10:39 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 23 Jun 2011 08:40:42 +0000 (10:40 +0200)
commite0ba33ff38a40207472185d639567966e136da6b
tree69040008cd1a62a1202d859d5860599bbd72fc73
parent874a3b3d92d11e941545ed6307091cd3408358d2
Nicht immer alle Session-Werte automatisch laden und parsen

Durch das Speichern ganzer Forms in der Session wurde das Laden sehr
langsam, weil bei jedem Request alle Session-Werte geladen und mit
YAML geparst wurden. Rief man z.B. ein Erzeugnis mit 50 Einzelteilen
auf, so erhöhte sich dadurch die Requestzeit um eine Sekunde -- bis
die Session gelöscht wird (Logout, Timeout oder bei nicht-FastCGI).

Lösung ist, dass nur diejenigen Werte bei jedem Request automatisch
geladen werden, die entweder 'auto_restore' gesetzt haben, oder die
immer benötigt werden (Login, Passwort, Root-Passwort). Alle anderen
Werte werden nur auf Existenz geprüft und erst bei
$::auth->get_session_value() wirklich geladen und per YAML geparst.
SL/Auth.pm
SL/Auth/ColumnInformation.pm [new file with mode: 0644]
SL/Auth/SessionValue.pm [new file with mode: 0644]
SL/Dispatcher.pm
sql/Pg-upgrade2-auth/session_content_auto_restore.sql [new file with mode: 0644]