Menu dokumentacji

Diagnostyka#

Każdy komunikat diagnostyczny typesql zawiera stabilny kod, lokalizację źródłową, przyczynę i konkretną pomoc, gdy znana jest mechaniczna naprawa. Tekst dla człowieka może się poprawiać; automatyzacja powinna opierać się na TS####.

text
TS0400 at 3:10: unknown column `amunt`
help: did you mean `amount`?

Rejestr kodów#

KodyKlasa
TS0001–TS0007Analiza leksykalna, nieprawidłowe znaki i rozmiar dokumentu
TS0100–TS0105Analiza składni, nieobsługiwana składnia, głębokość i nieprawidłowe literały
TS0200–TS0201Gwarancje wymazywania adnotacji
TS0300–TS0301Nieprawidłowe lub zbyt głęboko zagnieżdżone wyrażenia typów
TS0400Nieznana kolumna
TS0401Niezgodność typów
TS0402Niepowodzenie satisfies
TS0403Nieprawidłowe rzutowanie
TS0404–TS0405Liczba lub typ argumentów funkcji
TS0406Funkcja rekurencyjna
TS0407Liczba kolumn operacji zbiorowej
TS0408Niezgodność struktury JSON
TS0409Liczba kolumn aliasu
TS0410–TS0412Maskowane rzutowanie, porównanie lub przepływ
TS0500–TS0501Kompilacja docelowa lub różnica funkcjonalna
TS0600–TS0609Odwołanie do pakietu, blokada, artefakt, skrót, format, eksport, cykl, przesłonięcie, limity lub nieużywany import
TS0700–TS0701Środowisko lub limit przepisywania
TS0800–TS0803Środowisko widoków logicznych, cykl, limit lub dokument

Postać maszynowa#

Diagnostyka jest też dostępna jako JSON. Zakresy bajtów pozostają rozstrzygające i są prezentowane jako numery wierszy i kolumn liczone od 1. Etykiety dodatkowe wskazują powiązane deklaracje, gdy przyczyna znajduje się gdzie indziej.

Polityka lint modelu#

Model może przeklasyfikować zarejestrowane kody diagnostyczne w pierwszych 20 wierszach komentarzy:

sql
-- lint:
--   TS0400: allow
--   TS0609: deny

Blok przyjmuje od 1 do 16 unikatowych kodów. allow obniża pasującą diagnostykę do ostrzeżenia. deny podnosi ją do błędu. Nieznane kody, duplikaty, nieprawidłowe wpisy lub więcej niż jeden blok powodują odrzucenie modelu.