There is a logic bug in the fix for
NIFI-3076 that causes unsigned 9-digit integers to be treated as ints when the DB (at least MySQL) will return a Long object. Although the fix for NIFI-3076 does work for MEDIUMINT, this is because the logic bug is not exposed when the MEDIUMINT is signed (as it satisfies the other condition of the if clause). But if a field is declared as INT(9) UNSIGNED, the logic will see if the precision is 9 digits or less, and treat it as an Integer if so. But an unsigned value with 9 digits will fit in a Long, and should be treated as such in the schema.
Recommended fix is to replace the "<= MAX_DIGITS_PER_INT" with "< MAX_DIGITS_PER_INT".