teecup/092_net_hunt_display.sql
Erol Haagenrud 7614c4b83a Legg til Jakter Jesper som visningsmodus for netto-scoring (ADR-106)
Bruker beskrev en turneringsform (start på -spillehandicap, brutto mot
par løpende, lavest sluttsum vinner) og spurte om dette egentlig var en
presentasjonsform fremfor en ny turneringsform. Riktig observasjon:
sluttsummen er matematisk identisk med stroke_net sitt netto-til-par.

Ny tournament.net_display_style ('standard'/'hunt', migrasjon 092), kun
gyldig sammen med scoring_method='stroke_net'. _attach_stroke_play_columns
fikk én stroke_val()-hjelper som bytter net_total (gradvis slagindeks-
basert) med gross_total - playing_handicap (hele handicapet trukket fra
med én gang) når hunt er aktiv -- ingen ny motorfunksjon. Ny, generelt
tilgjengelig tiebreak-verdi lowest_playing_hcp.

5 nye pytest-tester + full regresjon (198/198), tsc rent, full-stack
scratch-verifisert (hånd-utregnede tall matchet eksakt, offentlig
følg-live + utskrift arvet visningen uten kodeendring der).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 08:46:35 +02:00

36 lines
2 KiB
SQL

-- =====================================================================
-- TeeCup — migrasjon 092
-- Visningsmodus for netto-scoring ("Jakter Jesper"): start på
-- -spillehandicap, brutto-mot-par løpende -- IKKE en ny scoring_method,
-- se ADR (neste ledige nummer) for hele resonnementet. Pluss en ny,
-- generelt tilgjengelig tiebreak-verdi (lavest spillehandicap).
-- =====================================================================
-- `net_display_style`: 'standard' (uendret oppførsel -- dagens
-- gradvise, slagindeks-baserte netto-visning, default, ingen regresjon
-- for eksisterende turneringer) eller 'hunt' (hele spillehandicapet
-- trukket fra med én gang, brutto-til-par-differansen vist løpende).
-- Kun meningsfullt for scoring_method='stroke_net' -- håndheves i
-- app-laget (samme presedens som _SCORING_METHODS_REQUIRING_HANDICAP),
-- ikke en tverr-kolonne CHECK her.
--
-- `lowest_playing_hcp`: ny tiebreak-verdi (utvider migrasjon 085/086
-- sitt mønster) -- spilleren med lavest SPILLEHANDICAP (tee-spesifikt
-- tall, IKKE WHS-indeksen `lowest_hcp` bruker) i turneringens siste
-- runde vinner uavgjortheten. Generelt tilgjengelig for alle
-- stroke-play-turneringer, ikke bare hunt-visningen -- tiebreak er
-- allerede uavhengig av scoring_method.
-- =====================================================================
\set ON_ERROR_STOP on
ALTER TABLE tournament
ADD COLUMN net_display_style text NOT NULL DEFAULT 'standard'
CHECK (net_display_style IN ('standard', 'hunt'));
ALTER TABLE tournament
DROP CONSTRAINT tournament_tiebreak_winner_method_check,
ADD CONSTRAINT tournament_tiebreak_winner_method_check
CHECK (tiebreak_winner_method IN ('none', 'countback', 'lowest_hcp', 'playoff', 'lowest_playing_hcp')),
DROP CONSTRAINT tournament_tiebreak_field_method_check,
ADD CONSTRAINT tournament_tiebreak_field_method_check
CHECK (tiebreak_field_method IN ('none', 'countback', 'lowest_hcp', 'lowest_playing_hcp'));