This is where the maxLength is not getting set for arrays. Instead of using <code>this.dataType</code> for these checks, use a local variable, initialized to this.dataType. The for the array case, set the local variable to the element type instead. That way, the maxLength and scale and precision will all be preserved in the column definition.