What it does wrong
Display casing is inconsistent between bracketed and plain identifiers in the same report.
SELECT a.Id FROM dbo.Alpha a INNER JOIN [dbo].[Bravo] b ON b.Id = a.Id
dbo.Alpha renders as ALPHA (the plain-identifier path uppercases), but [dbo].[Bravo] renders as Bravo (the bracket-preserving path keeps original casing). Same procedure, two different casing conventions in the output.
Why it matters
Cosmetic, but it looks sloppy in an enterprise migration report and makes sorting/grouping by table name in the Excel export inconsistent.
Test
Pinned as a strict-xfail: tests/test_known_limitations.py::test_KL2_identifier_casing_is_consistent. Fixing this flips it to XPASS, which fails CI by design — the fix must promote the test to a real assertion (see tests/test_parser.py for the pattern) in the same change.
What it does wrong
Display casing is inconsistent between bracketed and plain identifiers in the same report.
dbo.Alpharenders asALPHA(the plain-identifier path uppercases), but[dbo].[Bravo]renders asBravo(the bracket-preserving path keeps original casing). Same procedure, two different casing conventions in the output.Why it matters
Cosmetic, but it looks sloppy in an enterprise migration report and makes sorting/grouping by table name in the Excel export inconsistent.
Test
Pinned as a strict-xfail:
tests/test_known_limitations.py::test_KL2_identifier_casing_is_consistent. Fixing this flips it to XPASS, which fails CI by design — the fix must promote the test to a real assertion (seetests/test_parser.pyfor the pattern) in the same change.