Merge pull request 'fix: parent_resolution JOIN 타이밍 갭 허용' (#226) from hotfix/join-timing-tolerance into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m29s

This commit is contained in:
htlee 2026-04-06 07:09:17 +09:00
커밋 6303831df3

파일 보기

@ -51,7 +51,7 @@ public class GroupPolygonService {
JOIN latest_groups lg
ON lg.group_key = c.group_key
AND lg.sub_cluster_id = c.sub_cluster_id
AND c.observed_at >= lg.snapshot_time
AND c.observed_at >= lg.snapshot_time - INTERVAL '10 minutes'
GROUP BY c.group_key, c.sub_cluster_id
),
candidate_counts AS (
@ -79,7 +79,7 @@ public class GroupPolygonService {
LEFT JOIN %s r
ON r.group_key = lg.group_key
AND r.sub_cluster_id = lg.sub_cluster_id
AND r.last_evaluated_at >= lg.snapshot_time
AND r.last_evaluated_at >= lg.snapshot_time - INTERVAL '10 minutes'
LEFT JOIN candidate_counts cc
ON cc.group_key = lg.group_key
AND cc.sub_cluster_id = lg.sub_cluster_id
@ -105,7 +105,7 @@ public class GroupPolygonService {
LEFT JOIN %s r
ON r.group_key = g.group_key
AND r.sub_cluster_id = g.sub_cluster_id
AND r.last_evaluated_at >= g.snapshot_time
AND r.last_evaluated_at >= g.snapshot_time - INTERVAL '10 minutes'
WHERE g.group_key = ?
ORDER BY g.snapshot_time DESC
LIMIT 1
@ -130,7 +130,7 @@ public class GroupPolygonService {
LEFT JOIN %s r
ON r.group_key = g.group_key
AND r.sub_cluster_id = g.sub_cluster_id
AND r.last_evaluated_at >= g.snapshot_time
AND r.last_evaluated_at >= g.snapshot_time - INTERVAL '10 minutes'
WHERE g.group_key = ? AND g.snapshot_time > NOW() - CAST(? || ' hours' AS INTERVAL)
ORDER BY g.snapshot_time DESC
""";
@ -186,7 +186,7 @@ public class GroupPolygonService {
JOIN latest_groups lg
ON lg.group_key = c.group_key
AND lg.sub_cluster_id = c.sub_cluster_id
AND c.observed_at >= lg.snapshot_time
AND c.observed_at >= lg.snapshot_time - INTERVAL '10 minutes'
GROUP BY c.group_key, c.sub_cluster_id
),
candidate_counts AS (
@ -215,7 +215,7 @@ public class GroupPolygonService {
JOIN %s r
ON r.group_key = lg.group_key
AND r.sub_cluster_id = lg.sub_cluster_id
AND r.last_evaluated_at >= lg.snapshot_time
AND r.last_evaluated_at >= lg.snapshot_time - INTERVAL '10 minutes'
LEFT JOIN candidate_counts cc
ON cc.group_key = lg.group_key
AND cc.sub_cluster_id = lg.sub_cluster_id
@ -247,7 +247,7 @@ public class GroupPolygonService {
JOIN latest_groups lg
ON lg.group_key = c.group_key
AND lg.sub_cluster_id = c.sub_cluster_id
AND c.observed_at >= lg.snapshot_time
AND c.observed_at >= lg.snapshot_time - INTERVAL '10 minutes'
WHERE c.group_key = ?
GROUP BY c.group_key, c.sub_cluster_id
),
@ -277,7 +277,7 @@ public class GroupPolygonService {
LEFT JOIN %s r
ON r.group_key = lg.group_key
AND r.sub_cluster_id = lg.sub_cluster_id
AND r.last_evaluated_at >= lg.snapshot_time
AND r.last_evaluated_at >= lg.snapshot_time - INTERVAL '10 minutes'
LEFT JOIN candidate_counts cc
ON cc.group_key = lg.group_key
AND cc.sub_cluster_id = lg.sub_cluster_id
@ -301,7 +301,7 @@ public class GroupPolygonService {
JOIN latest_groups lg
ON lg.group_key = c.group_key
AND lg.sub_cluster_id = c.sub_cluster_id
AND c.observed_at >= lg.snapshot_time
AND c.observed_at >= lg.snapshot_time - INTERVAL '10 minutes'
GROUP BY c.group_key, c.sub_cluster_id
)
SELECT c.group_key, c.sub_cluster_id, c.candidate_mmsi, c.candidate_name,