I'm having an issue where MetaData.getColumns() for Numeric Decimal datatype is always returning a precision of 128 when scale is set to 0. On the MSAccess side, precision will have a value like 10 or 6, but will come up as 128 when getting the column information with UCanAccess. If scale is not set to 0, precision comes in correctly.
According to https://hsqldb.org/doc/guide/sqlgeneral-chapt.html#sgc_numeric_types, 128 is the default precision value for Decimal and Numeric types when it's not defined. My guess is that when scale is 0, the precision value isn't being passed over correctly or at all, so it's using the default of 128.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm having an issue where MetaData.getColumns() for Numeric Decimal datatype is always returning a precision of 128 when scale is set to 0. On the MSAccess side, precision will have a value like 10 or 6, but will come up as 128 when getting the column information with UCanAccess. If scale is not set to 0, precision comes in correctly.
According to https://hsqldb.org/doc/guide/sqlgeneral-chapt.html#sgc_numeric_types, 128 is the default precision value for Decimal and Numeric types when it's not defined. My guess is that when scale is 0, the precision value isn't being passed over correctly or at all, so it's using the default of 128.
It looks like the issue is in Persist2Jet lines 263-266. It only sets precision if scale is greater than 0.