Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-10138

Support for decimals up to 38 digits

Details

    Description

      Currently DECIMAL only supports 30 decimals.
      We should extend support to at least 38 decimals, to be more compatible with financial applications that depends on this limit

      FLOAT and DOUBLE should still have the old limit of 30 decimals.

      The change should be done so there is a minimum of notable change for old clients, except if they are using decimal fields with more than 30 decimals.

      One change that is unavoidable is that decimal expressions will return results with more than 30 decimal and that if one converts a string to decimal it will have up to 38 decimals.

      CREATE ... SELECT with a decimal with > 30 decimals will create a column
      with a smaller range than before as we are trying to preserve the number of
      decimals.

      CREATE TABLE t1 SELECT 123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345;
      Will change the value from:
      99999999999999999999999999999999999.999999999999999999999999999999
      to
      99999999999999999999999999999.999999999999999999999999999999999999

      Attachments

        Issue Links

          Activity

            monty Michael Widenius created issue -
            monty Michael Widenius made changes -
            Field Original Value New Value
            Epic Link MDEV-10137 [ 56868 ]
            monty Michael Widenius made changes -
            monty Michael Widenius made changes -
            Assignee Michael Widenius [ monty ]
            monty Michael Widenius made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            monty Michael Widenius made changes -
            Description Currently DECIMAL only supports 30 decimals.
            We should extend support to at least 38 decimals, to be more compatible with financial applications that depends on this limit
            Currently DECIMAL only supports 30 decimals.
            We should extend support to at least 38 decimals, to be more compatible with financial applications that depends on this limit

            FLOAT and DOUBLE should still have the old limit of 30 decimals.

            The change should be done so there is a minimum of notable change for old clients, except if they are using decimal fields with more than 30 decimals.

            One change that is unavoidable is that decimal expressions will return results with more than 30 decimal and that if one converts a string to decimal it will have up to 38 decimals
            monty Michael Widenius made changes -
            Description Currently DECIMAL only supports 30 decimals.
            We should extend support to at least 38 decimals, to be more compatible with financial applications that depends on this limit

            FLOAT and DOUBLE should still have the old limit of 30 decimals.

            The change should be done so there is a minimum of notable change for old clients, except if they are using decimal fields with more than 30 decimals.

            One change that is unavoidable is that decimal expressions will return results with more than 30 decimal and that if one converts a string to decimal it will have up to 38 decimals
            Currently DECIMAL only supports 30 decimals.
            We should extend support to at least 38 decimals, to be more compatible with financial applications that depends on this limit

            FLOAT and DOUBLE should still have the old limit of 30 decimals.

            The change should be done so there is a minimum of notable change for old clients, except if they are using decimal fields with more than 30 decimals.

            One change that is unavoidable is that decimal expressions will return results with more than 30 decimal and that if one converts a string to decimal it will have up to 38 decimals.
            CREATE ... SELECT with a decimal with many digits will cause a smaller range as we are trying to preserve the number of decimals when we create the field.

            CREATE TABLE t1 SELECT 123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345;
            Will change the value from:
            99999999999999999999999999999999999.999999999999999999999999999999
            to
            99999999999999999999999999999.999999999999999999999999999999999999
            monty Michael Widenius made changes -
            Description Currently DECIMAL only supports 30 decimals.
            We should extend support to at least 38 decimals, to be more compatible with financial applications that depends on this limit

            FLOAT and DOUBLE should still have the old limit of 30 decimals.

            The change should be done so there is a minimum of notable change for old clients, except if they are using decimal fields with more than 30 decimals.

            One change that is unavoidable is that decimal expressions will return results with more than 30 decimal and that if one converts a string to decimal it will have up to 38 decimals.
            CREATE ... SELECT with a decimal with many digits will cause a smaller range as we are trying to preserve the number of decimals when we create the field.

            CREATE TABLE t1 SELECT 123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345;
            Will change the value from:
            99999999999999999999999999999999999.999999999999999999999999999999
            to
            99999999999999999999999999999.999999999999999999999999999999999999
            Currently DECIMAL only supports 30 decimals.
            We should extend support to at least 38 decimals, to be more compatible with financial applications that depends on this limit

            FLOAT and DOUBLE should still have the old limit of 30 decimals.

            The change should be done so there is a minimum of notable change for old clients, except if they are using decimal fields with more than 30 decimals.

            One change that is unavoidable is that decimal expressions will return results with more than 30 decimal and that if one converts a string to decimal it will have up to 38 decimals.

            CREATE ... SELECT with a decimal with > 30 decimals will create a column
            with a smaller range than before as we are trying to preserve the number of
            decimals.

            CREATE TABLE t1 SELECT 123456789012345678901234567890123456789012345.123456789012345678901234567890123456789012345;
            Will change the value from:
            99999999999999999999999999999999999.999999999999999999999999999999
            to
            99999999999999999999999999999.999999999999999999999999999999999999
            monty Michael Widenius made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            monty Michael Widenius made changes -
            Component/s Data Definition - Alter Table [ 10114 ]
            Fix Version/s 10.2.1 [ 22012 ]
            Fix Version/s 10.2 [ 14601 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            alvinr Alvin Richards (Inactive) made changes -
            Labels Compatibility
            alvinr Alvin Richards (Inactive) made changes -
            Sprint Compatibility-1 [ 88 ]
            alvinr Alvin Richards (Inactive) made changes -
            Epic Link MDEV-10137 [ 56868 ] MDEV-10872 [ 58182 ]
            alvinr Alvin Richards (Inactive) made changes -
            Labels Compatibility Approved Compatibility
            alvinr Alvin Richards (Inactive) made changes -
            Labels Approved Compatibility Approved Compatibility NRE-307517
            alvinr Alvin Richards (Inactive) made changes -
            NRE Projects NRE-307517
            alvinr Alvin Richards (Inactive) made changes -
            Labels Approved Compatibility NRE-307517 Approved Compatibility
            alvinr Alvin Richards (Inactive) made changes -
            NRE Approved Yes [ 10304 ]
            alvinr Alvin Richards (Inactive) made changes -
            Labels Approved Compatibility Compatibility
            alvinr Alvin Richards (Inactive) made changes -
            Comment [ A comment with security level 'Developers' was removed. ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 75808 ] MariaDB v4 [ 132883 ]

            People

              monty Michael Widenius
              monty Michael Widenius
              Votes:
              0 Vote for this issue
              Watchers:
              6 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.