---
title: Diagnostyka
description: Odczytuj stabilne kody TS, zakresy źródłowe, przyczyny, poprawki i politykę lint modeli.
species: reference
---
# 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

| 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:

```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.
