Details
- 
    Task 
- 
    Status: Closed (View Workflow)
- 
    Minor 
- 
    Resolution: Fixed
- 
    None
- 
    None
- 
        2021-5, 2021-6
Description
We need to find and replace expressions like pow(10.0, (double)scale) related to DECIMALS(<19) processing and replace them with a static dictionary lookup.
Attachments
Issue Links
- is blocked by
- 
                    MCOL-4600 CAST(decimal AS SIGNED/UNSIGNED) returns a wrong result -         
- Closed
 
-         
- 
                    MCOL-4604 CHAR(negativeWideDecimal) not behaving as InnoDB -         
- Closed
 
-         
- 
                    MCOL-4609 TreeNode::getIntVal() does not round: implicit DECIMAL->INT cast is not MariaDB compatible -         
- Closed
 
-         
- 
                    MCOL-4610 TreeNode::getUintVal() looses precision for narrow decimal -         
- Closed
 
-         
- 
                    MCOL-4614 calShowPartitions() precision loss for huge narrow decimal -         
- Closed
 
-         
- 
                    MCOL-4615 GROUP_CONCAT() precision loss for huge narrow decimal -         
- Closed
 
-         
- 
                    MCOL-4618 FLOOR(-9999.0) returns a bad result -         
- Closed
 
-         
- 
                    MCOL-4619 TreeNode::getUintVal() does not round: Implicit DECIMAL->UINT conversion is not like in InnoDB -         
- Closed
 
-         
- 
                    MCOL-4629 Add a helper method mcsv1_UDAF::toDouble() -         
- Closed
 
-         
- 
                    MCOL-4631 CAST(double AS SIGNED) returns 0 or NULL -         
- Closed
 
-         
- 
                    MCOL-4633 Remove duplicate code for DECIMAL to int64_t rounding conversion -         
- Closed
 
-         
- 
                    MCOL-4640 Narrow DECIMAL precision loss in CAST(AS SIGNED) and CHAR() -         
- Closed
 
-         
- 
                    MCOL-4647 SEC_TO_TIME(double_or_float) returns a wrong result -         
- Closed
 
-         
- 
                    MCOL-4649 CAST(double AS UNSIGNED) returns 0 -         
- Closed
 
-         
- 
                    MCOL-4650 TreeNode::getIntVal() looses precision for narrow decimal -         
- Closed
 
-         
- 
                    MCOL-4651 SEC_TO_TIME(hugePositiveDecimal) returns a negative time -         
- Closed
 
-         
- 
                    MCOL-4653 CEIL(negativeNarrowDecimal) inside another function returns a wrong result -         
- Closed
 
-         
- 
                    MCOL-4660 Narow decimal to string conversion is inconsistent about zero integral -         
- Closed
 
-         
- 
                    MCOL-4668 PERIOD_DIFF(dec_or_double1,dec_or_double2) is not as in InnoDB -         
- Closed
 
-         
- is part of
- 
                    MCOL-641 Full DECIMAL support in ColumnStore -         
- Closed
 
-         
- relates to
- 
                    MCOL-4611 MOD loses precision on huge narrow decimal -         
- Closed
 
-         
- 
                    MCOL-4627 SET int_col=decimal_col returns an error -         
- Open
 
-         
- 
                    MCOL-4628 SET double_col=decimal_col returns an error -         
- Open
 
-         
- 
                    MCOL-4655 CAST(ROUND(magicInWideDecimal) AS SIGNED) returns NULL -         
- Closed
 
-         
- 
                    MCOL-4667 Precision loss on AVG(decimal) -         
- Open
 
-         
- 
                    MDEV-25174 DOUBLE columns do not accept large hex hybrids -         
- Closed
 
-         
- 
                    MCOL-4601 MOD and DIV operators not behaving as InnoDB -         
- Open
 
-         
- 
                    MCOL-4605 FROM_UNIXTIME(negativeDecimal) not behaving as InnoDB -         
- Closed
 
-         
- 
                    MCOL-4607 SEC_TO_TIME(wideDecimal) returns 0 in DECIMAL context -         
- Closed
 
-         
- 
                    MCOL-4608 SET_TO_TIME(decimal) does not preserve microseconds -         
- Open
 
-         
- 
                    MCOL-4612 A subquery with a union for DECIMAL and BIGINT returns zeros -         
- Closed
 
-         
- 
                    MCOL-4613 Garbage result of a union between huge narrow DECIMAL and BIGINT -         
- Closed
 
-         
- 
                    MCOL-4622 Implicit FLOAT->INT and DOUBLE->INT conversion is not like in InnoDB -         
- Open
 
-         
- 
                    MCOL-4623 sec_to_time() does not support FLOAT/DOUBLE UNSIGNED -         
- Closed
 
-         
- 
                    MCOL-4632 CAST(hugeNegativeWideDecimal AS SIGNED) returns 0 or NULL -         
- Closed
 
-         
- 
                    MCOL-4648 CAST(UBIGINTNULL_inWideDecimal AS UNSIGNED) returns 0 or NULL -         
- Closed
 
-         
- 
                    MCOL-4671 LEFT(str, negativeInt) returns a wrong result -         
- Closed
 
-