Menu dokumentacji

Widoki logiczne#

Widok logiczny to nazwane zapytanie typesql bez parametrów. Supernova rozwija je w zapytaniu wywołującym przed kontrolą typów, dopuszczeniem przez polityki, wyborem migawek i wykonaniem.

typesql
select customer_id, revenue
from finance.customer_revenue
where revenue > 1000

Czym jest widok logiczny#

Widok logiczny jest tekstem zapytania przeznaczonym do ponownego użycia. Nie jest widokiem Iceberg i nie materializuje danych. Każde odwołanie rozwija się do ujętego w nawiasy zapytania pochodnego z jednoznacznym aliasem.

Definicje używają nazw dwuczęściowych [schema, view] lub trzyczęściowych [catalog, schema, view]. Dopasowanie każdej części nie rozróżnia wielkości znaków ASCII, ale wywołujący przekazuje jeden zamknięty, autoryzowany zestaw definicji.

Gwarancje rozwijania#

Każda przekazana definicja musi zawierać dokładnie jedno zapytanie i nie może mieć parametrów pozycyjnych, nazwanych ani oznaczonych znakiem zapytania. Mechanizm rozumie zakresy relacji i kwalifikacji; nie wykonuje podmiany tekstu. Skorelowane podzapytanie nie może przypadkowo przechwycić wygenerowanego aliasu.

Artefakt rozwinięcia zapisuje zapytanie źródłowe, rozwinięty SQL, wszystkie użyte widoki oraz skrót SHA-256 każdej dokładnej definicji. Ta proweniencja uczestniczy w określaniu tożsamości dalszych wyników.

Diagnostyka i limity#

TS0800 oznacza nieprawidłowe środowisko lub definicję. TS0801 oznacza cykl. TS0802 oznacza przekroczenie limitu. TS0803 oznacza nieprawidłowy dokument widoku logicznego.

Środowisko przyjmuje maksymalnie 4096 widoków i 64 poziomy rozwinięcia. Surowy główny SQL i zdekodowany SQL widoku są ograniczane przed rozwinięciem, więc nieprawidłowe środowisko kończy się błędem bez publikowania częściowego wyniku.

Użyj modelu, gdy potrzebujesz trwałej tabeli. Użyj widoku logicznego, gdy liczą się ponowne wykorzystanie i kontrola typów, ale materializacja nie jest potrzebna.