How to fix a join whose inputs share columns it isn't joined on (spec §7.11's autofix, with the collision fix of PLAN §11.4): the renames before each input, and the join's key lists after them

interface JoinDuplicateFix {
    left: readonly RenameMapping[];
    leftColumns: readonly string[];
    right: readonly RenameMapping[];
    rightColumns: readonly string[];
}

Properties

left: readonly RenameMapping[]

Renames before the Left input: each shared column c to c_1

leftColumns: readonly string[]

The join's left keys, through the left renames

right: readonly RenameMapping[]

Renames before the Right input: each shared column c to c_2

rightColumns: readonly string[]

The join's right keys, through the right renames