---
title: "Why Moving a Pair of Games Failed Until the Last Hotfix"
canonical: https://dxdev.com/blog/slug-batch-row-locks-global-order/
datePublished: 2026-10-02
---
Moving a pair of games in one batch failed, because the two games in the batch redeclared the same variables.

## The rename that wasn't one

The group batch renames variables per game. That rename carried a stray backspace character where a word boundary should have been, so two games in one batch redeclared the same variables. This was the finishing hotfix of the season-move work. Multi-game moves no longer fail.

## Locks and the partner-link lookup

The partner-link lookup now reads without locks and updates by primary key instead of running a scanning UPDATE.

Row locks for all the games in a batch are now taken up front, in one global order, relabelled games included. Opposite-direction requests queue instead of deadlocking.

## Index scripts, left unapplied

The hotfix also carries optional index scripts for lgoppgid, with measured build times. They are not applied.

A pair in one batch failed because of a stray backspace character. Requests moving games in opposite directions now take their row locks in the same global order, so they queue instead of deadlocking.
