Knime JDBC bug - double precision


We have discovered a precision bug that applies to the JDBC configuration of Knime. When we try to run a select statement of a numeric column with decimals, Knime will convert the number to double variable. This works fine until the number becomes very large, in our case our column contains the number to the 100,000,000,000,000,000s with 9 decimal precision. Knime will just return the number rounding out the decimals.

Please note that this applies ACROSS twoJDBC database drivers so we don’t think that that problem is driver specific, in our case we use OpenEdge and Snowflake for testing.

Any help will be appreciated.


We use Java’s double data type for representing floating point numbers. This data type has limited precision, so you cannot have arbitrary decimal digits, especially for very large numbers.

so is there a way to work around this? We have a loop to go through group of tables so doing a cast is not an option. We tried to use input type mapping for numeric type but the only dropdown is to convert to double…

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.