Support #19031
Updated by Carsten Rose 10 days ago
Wenn viele Queries in einem Report gefeuert werden kann das Laden sehr langsam sein. Idee: * In einem Report kann auf einem oder mehreren Level ein 'cache' aktiviert werden. Bsp: `10.cache=S:action,grId|R:vId,grId|Y:pIdUser` * Der Content, den ein Alles was in dem Level (und darunter) ausgibt, und darunter ist wird gespeichert in der Tabelle `CacheReport` in einem Record. columns: `CacheReport`. * key * qfqSession * value * expire * storeRecord (serialized) * Der Key zu einem Cache-Eintrag setzt sich zusammen aus dem QFQ Session Cookie und den definierten Parameter. * Gibt es einen Cache Eintrag, wird die Query nicht ausgefuehrt, sondern vom Cache geladen. * Der Original Record Store wird gemerged mit dem aktuellen. * Enthaelt der Report Columns mit `... AS _exec` ist ein Speichern nicht moeglich. * Dies kann einfach erkannt werden beim fuellen das Caches: '_exec' wirft eine Exception wenn ein 'cache' aktiv ist. * Gibt es noch weitere Bedingungen die ein cachen verbieten sollten?