mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-13 03:12:03 +00:00
fix(multiplayer): repair PostgreSQL integration invariants
This commit is contained in:
@@ -39,10 +39,14 @@ func ApplyRankedSeasonRollover(ctx context.Context, db *sql.DB, playerID, season
|
||||
applied := false
|
||||
err := RunSerializable(ctx, db, DefaultSerializableAttempts, func(ctx context.Context, tx *sql.Tx) error {
|
||||
var locked domain.RankedProfile
|
||||
var lockedPlayerID string
|
||||
var revision int64
|
||||
if err := tx.QueryRowContext(ctx, SeasonRatingLockSQL, playerID).Scan(&locked.Value, &locked.RD, &locked.Volatility, &locked.RankedGames, &revision); err != nil {
|
||||
if err := tx.QueryRowContext(ctx, SeasonRatingLockSQL, playerID).Scan(&lockedPlayerID, &locked.Value, &locked.RD, &locked.Volatility, &locked.RankedGames, &revision); err != nil {
|
||||
return err
|
||||
}
|
||||
if lockedPlayerID != playerID {
|
||||
return fmt.Errorf("locked unexpected rating row")
|
||||
}
|
||||
var err error
|
||||
updated, _, err = domain.ApplySeasonRollover(locked, seasonID)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user