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####.
TS0400 at 3:10: unknown column `amunt`
help: did you mean `amount`?Rejestr kodów#
| Kody | Klasa |
|---|---|
TS0001–TS0007 | Analiza leksykalna, nieprawidłowe znaki i rozmiar dokumentu |
TS0100–TS0105 | Analiza składni, nieobsługiwana składnia, głębokość i nieprawidłowe literały |
TS0200–TS0201 | Gwarancje wymazywania adnotacji |
TS0300–TS0301 | Nieprawidłowe lub zbyt głęboko zagnieżdżone wyrażenia typów |
TS0400 | Nieznana kolumna |
TS0401 | Niezgodność typów |
TS0402 | Niepowodzenie satisfies |
TS0403 | Nieprawidłowe rzutowanie |
TS0404–TS0405 | Liczba lub typ argumentów funkcji |
TS0406 | Funkcja rekurencyjna |
TS0407 | Liczba kolumn operacji zbiorowej |
TS0408 | Niezgodność struktury JSON |
TS0409 | Liczba kolumn aliasu |
TS0410–TS0412 | Maskowane rzutowanie, porównanie lub przepływ |
TS0500–TS0501 | Kompilacja docelowa lub różnica funkcjonalna |
TS0600–TS0609 | Odwoł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:
-- lint:
-- TS0400: allow
-- TS0609: denyBlok 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.