Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-641

Full DECIMAL support in ColumnStore

    XMLWordPrintable

Details

    • 2020-1, 2020-2, 2020-3, 2020-4, 2020-5, 2020-6, 2020-7, 2021-1, 2021-2, 2021-3, 2021-4, 2021-5, 2021-6, 2021-7, 2021-8, 2021-9

    Description

      MariaDB ColumnStore supports DECIMAL with some limitations:

      1. We do not support the full DECIMAL range that is in MariaDB

      2. In several places in the code we convert the DECIMAL to DOUBLE during execution therefore losing precision

      Implementing this will likely require the following:

      • Implementation of methods to handle MariaDB's DECIMAL format
      • Support for a longer than 8-byte numeric column type (there is an InfiniDB tree with work for this already)
      • Modification of the primitives processor for the math
      • Modification of the function expression processor to handle the new type
      • Version upgrade support for DECIMAL from the current form to the new form

      Attachments

        Issue Links

          1.
          Create a framework for wide data types. Sub-Task Closed Roman  
          2.
          Add support for INET6 Sub-Task Closed Roman  
          3.
          Full Decimal Research Sub-Task Closed Gagan Goel (Inactive)  
          4.
          Add support for wide-DECIMAL into FuncExp framework. Sub-Task Closed Roman  
          5.
          Add support for wide-DECIMAL into Window Functions. Sub-Task Closed Daniel Lee (Inactive)  
          6.
          Add support for wide-DECIMAL into statistical aggregate and regr_ UDAF functions Sub-Task Closed Roman

          100%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 0.25d
          7.
          Review/refactor frontend/connector code. Sub-Task Closed Alexander Barkov  
          8.
          Review/refactor primitives code Sub-Task Closed Gagan Goel (Inactive)  
          9.
          Review/refactor bulk insertion paths and code. Sub-Task Closed Roman  
          10.
          Review/refactor DBRM and Casual Partitioning code. Sub-Task Closed Roman  
          11.
          Review wide-DECIMAL code in dbcon/execplan classes. Sub-Task Closed Aleksei Antipovskii  
          12.
          Attach Google Test as CMake external project. Sub-Task Closed Unassigned  
          13.
          Release builds contains ASM that either crashes processes or affects query results Sub-Task Closed Roman

          100%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 0.5h
          14.
          funcexp::Func_ceil::getIntVal fails with Thread 20 "PPBatchPrimProc" received signal SIGFPE, Arithmetic exception Sub-Task Closed Unassigned  
          15.
          Separate Decimal and wide Decimal APIs into two classes Sub-Task Closed Unassigned  
          16.
          Convert dataconvert::decimalToString() into VDecimal:: and TSInt128 classes methods. Sub-Task Closed Alexander Barkov  
          17.
          Add support for wide-DECIMAL into UNION processing Sub-Task Closed Roman  
          18.
          Overflow checks fails in decimal unit tests Sub-Task Closed Roman  
          19.
          Bulk insertion doesn't work for wide DECIMALs. Sub-Task Closed Unassigned  
          20.
          Move __float128 related code into a separate header file. Sub-Task Closed Alexander Barkov  
          21.
          Add DDL test cases for wide decimal columns Sub-Task Closed Bharath Bokka (Inactive)  
          22.
          Rename VDecimal into Decimal and make IDB_Decimal an alias from Decimal Sub-Task Closed Alexander Barkov

          100%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 0.25d
          23.
          UDAF processing might return wrong results duplicating one of the previous group's results Sub-Task Closed Roman  
          24.
          Fix between for DECIMAL columns with certain literal values in projection. Sub-Task Closed Roman  
          25.
          Row::getBinaryField() might crash accessing int128 from unaligned address Sub-Task Closed Unassigned  
          26.
          avg() on wide DECIMAL doesn't round the last digit properly Sub-Task Closed Aleksei Antipovskii  
          27.
          Remove libquadmath as the dependency Sub-Task Closed Aleksei Antipovskii  

          Activity

            People

              drrtuy Roman
              LinuxJedi Andrew Hutchings (Inactive)
              Votes:
              7 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0d
                  0d
                  Logged:
                  Time Spent - 4.5h
                  4.5h

                  Git Integration

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