---
title: 진단
description: 안정적인 TS 코드, 소스 범위, 원인, 수정 방법, 모델 린트 정책을 확인합니다.
species: reference
---
# 진단

모든 typesql 진단에는 안정적인 코드, 소스 위치, 원인이 있으며 자동으로 수정할 수 있는 방법이 알려져 있으면 구체적인 도움말도 제공합니다. 사람이 읽는 문구는 개선될 수 있으므로 자동화에서는 `TS####`를 기준으로 처리해야 합니다.

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

## 코드 레지스트리

| 코드 | 분류 |
|---|---|
| `TS0001`–`TS0007` | 어휘 분석, 유효하지 않은 문자, 문서 크기 |
| `TS0100`–`TS0105` | 구문 분석, 미지원 구문, 깊이, 잘못된 리터럴 |
| `TS0200`–`TS0201` | 어노테이션 소거 보장 |
| `TS0300`–`TS0301` | 유효하지 않거나 과도하게 중첩된 타입 표현식 |
| `TS0400` | 알 수 없는 열 |
| `TS0401` | 타입 불일치 |
| `TS0402` | `satisfies` 실패 |
| `TS0403` | 유효하지 않은 형 변환 |
| `TS0404`–`TS0405` | 함수 인수 개수 또는 타입 |
| `TS0406` | 재귀 함수 |
| `TS0407` | 집합 연산의 열 개수 |
| `TS0408` | JSON 구조 불일치 |
| `TS0409` | 별칭 열 개수 |
| `TS0410`–`TS0412` | 마스킹된 값의 형 변환, 비교, 흐름 |
| `TS0500`–`TS0501` | 대상 컴파일 또는 기능적 차이 |
| `TS0600`–`TS0609` | 패키지 참조, 잠금, 아티팩트, 해시, 형식, 내보내기, 순환, 가림, 제한, 미사용 가져오기 |
| `TS0700`–`TS0701` | 재작성 환경 또는 제한 |
| `TS0800`–`TS0803` | 논리 뷰 환경, 순환, 제한, 문서 |

## 기계 판독 형식

진단은 JSON으로도 제공됩니다. 바이트 범위가 기준이며 1부터 시작하는 줄과 열 위치로 표시됩니다. 원인이 다른 곳에 있으면 보조 레이블이 관련 선언을 가리킵니다.

## 모델 린트 정책

모델은 첫 20개 주석 줄에서 등록된 진단 코드를 재분류할 수 있습니다.

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

블록에는 서로 다른 코드 1~16개를 넣을 수 있습니다. `allow`는 일치하는 진단을 경고로 낮추고 `deny`는 오류로 높입니다. 알 수 없는 코드, 중복, 잘못된 항목, 여러 블록이 있으면 모델을 거부합니다.
