Coverage for lintro / parsers / sqlfluff / sqlfluff_issue.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""SQLFluff issue model.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import dataclass, field 

6from typing import ClassVar 

7 

8from lintro.parsers.base_issue import BaseIssue 

9 

10 

11@dataclass 

12class SqlfluffIssue(BaseIssue): 

13 """Represents an issue found by SQLFluff. 

14 

15 Attributes: 

16 DISPLAY_FIELD_MAP: Mapping of display field names to attribute names. 

17 code: Rule code (e.g., L010, LT01). 

18 rule_name: Full rule name (e.g., capitalisation.keywords). 

19 end_line: End line number for multi-line issues. 

20 end_column: End column number for multi-line issues. 

21 """ 

22 

23 DISPLAY_FIELD_MAP: ClassVar[dict[str, str]] = { 

24 **BaseIssue.DISPLAY_FIELD_MAP, 

25 "code": "code", 

26 } 

27 

28 code: str = field(default="") 

29 rule_name: str = field(default="") 

30 end_line: int | None = field(default=None) 

31 end_column: int | None = field(default=None)