Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Not a Bug
-
3.1.12
-
None
Description
Taking SQL like this:
SELECT SUM( ROUND( field/ 2.2046, 1 ) ) FROM file |
and binding the result column as SQL_NUMERIC with a scale of 1 causes the subsequent fetch to fail with:
[ma-3.1.12][10.5.10-MariaDB]Numeric value out of range
|
debugging the driver it seems that the server considers that column as floating point and the error is being triggered here:
https://github.com/mariadb-corporation/mariadb-connector-odbc/blob/master/ma_statement.c#L1861
the value of buffer_length is 40 set internally by the driver based on the maximum length it expects for a numeric when written as a string while max_length is 300.
This happens with both MariaDB and MySQL as the server but only with the MariaDB ODBC driver - it doesn't happen with either database with the MySQL driver.