---
title: Dlaczego typesql jest stopniowy
description: Zobacz, jak wymazywanie, dostawcy schematów, stabilna diagnostyka, pakiety i błędy czytelne dla agentów kształtują typesql.
species: concept
---
# Dlaczego typesql jest stopniowy

SQL zawiera lata działających zapytań. typesql dodaje warstwę dowodową, nie zmieniając tych zapytań w inny język uruchomieniowy. Dokument bez adnotacji pozostaje prawidłowy; każda adnotacja wzmacnia lokalne zobowiązanie.

## Prawa wymazywania

Podstawowa składnia typów służy wyłącznie do sprawdzania. `expression satisfies T` jest wymazywane do `expression`. Nagłówek CTE z typami zachowuje nazwy kolumn, a traci części typów. Cała instrukcja `import type` zostaje wymazana.

Poza zakresami adnotacji wymazywanie zachowuje oryginalne tokeny wykonywane w środowisku uruchomieniowym. Nie formatuje ani nie kompiluje ponownie instrukcji. Jeśli adnotacja mogłaby zmienić wartość, wiersz lub efekt uboczny, nie należy do podstawowej składni typesql.

## Typy pochodzą z dowodów

Moduł sprawdzający otrzymuje dostawcę schematu, zamiast otwierać bazę danych. Dostawcą może być bieżąca migawka katalogu, fixture zapisana w repozytorium albo środowisko pakietów przypięte do treści. To samo zapytanie można więc sprawdzić w edytorze, CI lub narzędziu offline.

Nieznany dowód pozostaje `unknown`. Znana pisownia kolumny nie uzupełnia brakującego dowodu typu fizycznego. Stwierdzenia o kluczu podstawowym i braku wartości null wymagają aktualnego dowodu z katalogu.

## Język pozostaje ograniczony

SQL, artefakty pakietów, środowiska widoków logicznych, grafy typów, diagnostyka i dokumenty wyjściowe mają limity przyjęcia. Są one egzekwowane przed kosztowną materializacją. Wrogi lub uszkodzony dostawca nie może wymusić nieograniczonej rekursji, alokacji ani utrzymywania pamięci podręcznej.

To część semantyki: przekroczenie limitu powoduje stabilną odmowę, na przykład `TS0608` lub `TS0802`, a nigdy pozornie prawidłowy częściowy wynik typowania.

## Diagnostyka jest interfejsem

Jednym z głównych odbiorców błędów zapytań jest agent naprawiający własny SQL. Każdy komunikat diagnostyczny zawiera więc lokalizację, przyczynę, sposób naprawy, stabilny kod i postać maszynową. Sam „błąd składni” nie wystarcza człowiekowi ani agentowi do dojścia do rozwiązania.

Tekst komunikatu może się poprawiać bez łamania integracji, ponieważ interfejsem są kod i struktura. Poprawki mechaniczne zawierają dokładne zakresy i zamienniki; sugestie, które mogłyby zmienić znaczenie, pozostają tekstem opisowym.

## Pełne funkcje zachowują granicę

Funkcje z typami są kompilowane dopiero po przejściu kontroli kontraktów. Pakiety są przypięte do treści. Widoki logiczne rozwijają się z dokładną proweniencją przed sprawdzaniem. Maski polityk pozostają `masked<T>` aż do autoryzowanej granicy polityki środowiska uruchomieniowego.

Każda funkcja dodaje dowody lub strukturę wielokrotnego użytku, zachowując pierwotną obietnicę: typy pomagają Supernova wcześniej odrzucić błędne zapytanie, lecz adnotacje nigdy nie powodują wykonania innego zapytania.
