Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IF (SELECT COUNT(1) FROM vw_ActiveSeasonRefs A WHERE A.SeasonName = VarSeasonName) = 1
- THEN
- IF (SELECT COUNT(1)
- FROM t_SeasonTourData S
- JOIN vw_ActiveSeasonRefs A
- ON S.SeasonReference = A.ActiveSeasonRef
- WHERE A.SeasonName = VarSeasonName
- AND S.Playoffs = 1) = 1
- THEN
- SELECT 'This season is complete. No new tournaments may be created until the next season is initalised.';
- ELSEIF (SELECT MAX(S.SeasonTourNo)
- FROM t_SeasonTourData S
- JOIN vw_ActiveSeasonRefs A
- ON S.SeasonReference = A.ActiveSeasonRef
- WHERE A.SeasonName = VarSeasonName) <= 2
- THEN
- IF (SELECT COUNT(1) FROM t_Sets) > 0
- THEN
- WITH RECURSIVE cte_SetIds AS
- (SELECT 1 AS SetId
- UNION ALL
- SELECT SetId + 1
- FROM cte_SetIds
- WHERE SetId + 1 < (SELECT POW(2,CEIL(LOG(2,(SELECT COUNT(1)
- FROM t_Signups S
- JOIN vw_ActiveSeasonRefs A
- ON S.SeasonRefFk = A.ActiveSeasonRef
- WHERE A.SeasonName = VarSeasonName)) - 0.5)) AS BracketSize))
- SELECT SetId + MAX(SetIdPk) AS NewSetId
- FROM cte_SetIds C
- CROSS JOIN t_Sets S;
- ELSE
- WITH RECURSIVE cte_SetIds AS
- (SELECT 1 AS SetId
- UNION ALL
- SELECT SetId + 1
- FROM cte_SetIds
- WHERE SetId + 1 < (SELECT POW(2,CEIL(LOG(2,(SELECT COUNT(1)
- FROM t_Signups S
- JOIN vw_ActiveSeasonRefs A
- ON S.SeasonRefFk = A.ActiveSeasonRef
- WHERE A.SeasonName = VarSeasonName)) - 0.5)) AS BracketSize))
- SELECT SetId AS NewSetId
- FROM cte_SetIds C;
- END IF;
- ELSE
- SELECT 'Playoffs are not yet supported';
- END IF;
- ELSE
- SELECT 'Invalid Season Name';
- END IF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement