From 3c8148a6b1cbc85d1a28532d79827ea42412df39 Mon Sep 17 00:00:00 2001 From: Thom Lamb Date: Tue, 26 May 2026 10:03:34 -0500 Subject: [PATCH] chore(sonar): suppress CS8601 in QueryBreakdownMapper with justification MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CS8601 is reported via external_roslyn on the SonarQube server, which does not expose transitions for external-analyzer issues — so a server-side Won't Fix is not available. Silence locally with a narrow pragma so the issue stops appearing in subsequent scans. Justification: Parameters is Dictionary (non-nullable value annotation), but a SQL parameter value can legitimately be null. The proper fix is to widen the public dictionary value type to object?, which ripples through every consumer of QueryBreakdown.Parameters — deferred to a separate change. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs b/src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs index f68abe0..f84ea88 100644 --- a/src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs +++ b/src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs @@ -166,7 +166,9 @@ public class QueryBreakdownMapper : IQueryBreakdownMapper ? paramEntity.ParameterName : $"@{paramEntity.ParameterName}"; +#pragma warning disable CS8601 // Parameters is Dictionary but SQL parameter values can legitimately be null; widening the public dict value type is a broad ripple, deferred. queryBreakdown.Parameters[key] = DeserializeParameterValue(paramEntity); +#pragma warning restore CS8601 } }