[DBAL-944] Fix table column alteration on DB2

Replacement for #633 as it was messed up, incomplete, untested and wrong.
I'm generally talking about method complexity: it's getting quite large/complex.