Buffer

Pliki QVD można tworzyć i utrzymywać automatycznie z użyciem prefiksu buffer. Prefiksu tego można używać w większości instrukcji LOADSELECT w skryptach. Sygnalizuje on, że do buforowania wyniku instrukcji używane są pliki QVD.

Syntax:  

Buffer [(option [ , option])] ( loadstatement | selectstatement )

option::= incremental | stale [after] amount [(days | hours)]

 

Jeśli nie zostanie podana żadna opcja, bufor QVD utworzony przez pierwsze wykonanie skryptu będzie używany przez czas nieokreślony.

Bufory QVD są domyślnie zapisywane w folderze C:\ProgramData\QlikTech\QlikView\Buffers.

Bufory QVD są zazwyczaj usuwane, gdy nie ma już do nich żadnych odniesień po wykonaniu całego skryptu w dokumencie tworzącym bufor lub gdy dokument tworzący bufor przestaje istnieć.

Arguments:  

Argument Opis
incremental Opcja incremental umożliwia odczytywanie tylko części pliku bazowego. Poprzedni rozmiar pliku jest zapisany w nagłówku XML w pliku QVD. Jest to szczególnie przydatne w przypadku plików dziennika. Wszystkie rekordy załadowane wcześniej są wczytywane z pliku QVD, natomiast dalsze nowe rekordy są wczytywane z oryginalnego pliku źródłowego. Na koniec tworzony jest zaktualizowany plik QVD. Należy pamiętać, że opcji incremental można używać wyłącznie z instrukcjami LOAD i plikami tekstowymi, a ładowanie przyrostowe nie może być używane tam, gdzie stare dane są modyfikowane lub usuwane.
stale [after] amount [(days | hours)] amount to liczba określająca okres. Mogą być używane liczby dziesiętne. Jeśli parametr nie zostanie określony, przyjmowana jest wartość dni.
Opcja stale after jest zazwyczaj używana w przypadku źródeł bazodanowych, gdy nie istnieje prosty znacznik czasu oryginalnych danych. Zamiast tego określa się maksymalny dopuszczalny wiek migawki QVD. Klauzula stale after jedynie określa czas od momentu utworzenia bufora QVD, po którego upływie bufor będzie uważany za nieważny. Przed upływem tego czasu źródłem danych będzie bufor QVD, natomiast po upływie tego czasu używane będzie oryginalne źródło danych. Plik bufora QVD zostanie automatycznie zaktualizowany i rozpocznie się nowy okres.

Limitations:  

Istnieje szereg ograniczeń, przede wszystkim wymaganie, aby sednem wszelkich instrukcji złożonych była instrukcja LOAD lub SELECT odnosząca się do pliku.

Example 1:  

Buffer SELECT * from MyTable;

Example 2:  

Buffer (stale after 7 days) SELECT * from MyTable;

Example 3:  

Buffer (incremental) LOAD * from MyLog.log;