SWITCH, komenda
Ta komenda dynamiczna powoduje przełączenie pliku składnicy danych dla określonej grupy plików. W danym momencie operacje typu update-type dla tabel w określonej grupie są kierowane do jednego i tylko jednego z plików w grupie. Ten jeden plik jest nazywany aktywnym plikiem. Przełącznik plików zmienia aktywny plik dla grupy. Innymi słowy, przełącznik powoduje, że zbiór inny niż obecnie aktywny staje się nowym aktywnym plikiem.
Jeśli grupa określona przez tę komendę ma tylko jeden plik lub grupa obecnie nie ma nieaktywnego pliku, który kwalifikuje się do uzyskania danych wyjściowych, przełącznik nie jest wykonywany.
Po zakończeniu działania przełącznika składnica danych trwałych uruchamia proces konserwacji dla pliku w grupie, jeśli żadne puste pliki nie pozostaną w grupie.
Słowo kluczowe [ NO] EXTRACT może być użyte do wymuszenia lub pomijania zadania wyodrębniania dla pliku składnicy danych dezaktywowanego przez przełącznik.
Składnia
SWITCH GROUP=groupid [ EXTRACT | NOEXTRACT ]
Gdzie:
- GroupID
- Określa identyfikator grupy plików, która ma zostać przełączona. Do grupy musi być przypisanych wiele plików.
- Wyodrębnij
- Określa, że zdezaktywowany plik składnicy danych ma zostać wyodrębniony, nawet jeśli instrukcja GROUP pliku nie zażądała wyodrębnienia.
- NOEXTRACT
- Określa, że ekstrakcja nie ma być wykonywana dla zdezaktywowanego pliku składnicy danych. Ta opcja przesłania słowo kluczowe EXTRACT w instrukcji GROUP.
Należy zwrócić uwagę, że jeśli nie określono ani EXTRACT, ani NOEXTRACT, to obecność lub brak słowa kluczowego EXTRACT w instrukcji GROUP w pliku określa, czy wyodrębnianie jest wykonywane jako część przełącznika.
Logika przełącznika
Komenda SWITCH sprawdza wszystkie zestawy danych przypisane do grupy i podejmuje próbę znalezienia pustego. Jeśli nie są dostępne żadne puste zestawy danych, przyszłe próby zapisu danych do dowolnego zestawu danych w grupie nie powiodą się. Zwykle znaleziono pusty zestaw danych i jest on oznaczony jako aktywny zestaw danych.Gdy zestaw danych jest dezaktywowany, ponieważ jest on pełny, sprawdzany jest, czy określono opcję EXTRACT. Jeśli tak, wykonywana jest komenda EXTRACT dla zestawu danych.
Kolejnym testem jest sprawdzenie, czy w bieżącej grupie znajdują się puste zestawy danych. Jeśli nie, kod znajdzie zestaw danych z najstarszymi danymi i zaznacza go do konserwacji. W przypadku najnowszej wersji trwałej składnicy danychkod sprawdza, czy dla tego zestawu danych określono opcje obsługi BACKUP, EXPORT lub EXTRACT. Jeśli nie, wykonywana jest komenda INITDS. W przeciwnym razie wykonywana jest komenda BACKUP.