From ab3e36680f55bf5d9473cd4b76ae7b5ff9f21951 Mon Sep 17 00:00:00 2001 From: windpacer Date: Mon, 25 May 2026 19:03:20 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=8A=B8=EB=A0=8C=EB=93=9C=20=EC=9A=B4?= =?UTF-8?q?=EC=A0=84=EC=9D=8C=EC=98=81=20500=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=E2=80=94=20runbands=20@area=20=ED=83=80=EC=9E=85=20=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=EC=A0=95(42P08)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - GetRunBandsAsync: @area NULL 파라미터 타입 추론 실패(42P08) → @area::text 캐스트 - from/to UTC 정규화(ToUniversalTime)로 타임존 시프트 방지 - 검증: 동일 SQL bands 정상 반환, 연속 RUN은 next 이벤트 없으면 to까지 밴드 Co-Authored-By: Claude Opus 4.7 --- src/Infrastructure/Trend/TrendService.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Infrastructure/Trend/TrendService.cs b/src/Infrastructure/Trend/TrendService.cs index 06758ef..41cbcbc 100644 --- a/src/Infrastructure/Trend/TrendService.cs +++ b/src/Infrastructure/Trend/TrendService.cs @@ -212,14 +212,14 @@ public class TrendService : ITrendService FROM event_history_table WHERE event_time >= @from AND event_time <= @to AND event_type IN ('RUN', 'TRIP') - AND (@area IS NULL OR area ILIKE '%'||@area||'%' OR sub_area ILIKE '%'||@area||'%') + AND (@area::text IS NULL OR area ILIKE '%'||@area::text||'%' OR sub_area ILIKE '%'||@area::text||'%') ORDER BY tagname, event_time """; await using var conn = NewConn(); await conn.OpenAsync(ct); await using var cmd = new NpgsqlCommand(sql, conn); - cmd.Parameters.AddWithValue("from", from); - cmd.Parameters.AddWithValue("to", to); + cmd.Parameters.AddWithValue("from", from.ToUniversalTime()); // 타임존 시프트 방지 + cmd.Parameters.AddWithValue("to", to.ToUniversalTime()); cmd.Parameters.AddWithValue("area", (object?)area ?? DBNull.Value); var bands = new List();