Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-4738

ExecuteSQL error when table uses 9-digit unsigned int

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.5.0
    • Extensions
    • None

    Description

      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".

      Attachments

        Issue Links

          Activity

            People

              mattyb149 Matt Burgess
              mattyb149 Matt Burgess
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: