- Add unique constraint on participantSeasonResults(participantId, sportsSeasonId) and rewrite upsert to use onConflictDoUpdate, eliminating race conditions and sequential N*2 queries on sync - Fetch pending mappings for all sport types; extend Unmatched card to show for individual sports and route resolve-mapping to participantSeasonResults for season_standings sports - Replace hardcoded SEASON_STANDINGS_SIMULATOR_TYPES Set with sportsSeason.scoringPattern === "season_standings" to avoid drift - Remove countCompletedRaces() from F1 adapter — gamesPlayed/winPct were computed but discarded by the orchestrator for season_standings sports - Replace duplicate parseRacingStatsMap() with the shared statsMap() from espn.ts https://claude.ai/code/session_012ACmUs2vAwEF9jZu7Guos2
1 line
No EOL
145 B
SQL
1 line
No EOL
145 B
SQL
CREATE UNIQUE INDEX IF NOT EXISTS "psr_participant_season_idx" ON "participant_season_results" USING btree ("participant_id","sports_season_id"); |