Uploaded image for project: 'MariaDB Connector/ODBC'
  1. MariaDB Connector/ODBC
  2. ODBC-322

Binding floating point value as SQL_NUMERIC errors on fetch

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Not a Bug
    • 3.1.12
    • N/A
    • General
    • 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.

      Attachments

        Activity

          People

            Lawrin Lawrin Novitsky
            TomH Tom Hughes
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.