у нас возникла эта проблема: обновленная версия MariaDB Columnstore с 1.2.2 до 1.2.4 и чепуха началась.
Мыу этих столбцов col1, col2
оба DECIMAL(15,3)
уже был рабочий запрос для вычисления этих двух столбцов (см. псевдоним A
), и это не правильно вычислялось, когда col2
имел нулевую сумму - после обновления БД.Псевдоним B
был первым подходом, который не помог.И C
было решением для правильной работы.
Я хочу знать объяснение, почему это произошло и чем вызвано такое поведение.
SELECT
id,
SUM(col1) AS c1,
SUM(col2) AS c2,
SUM(col1 - col2) AS A,
SUM(CAST(col1 AS DOUBLE) - CAST(col2 AS DOUBLE)) AS B,
SUM(CAST(col1 AS DECIMAL(15,3)) - CAST(col2 AS DECIMAL(15,3))) AS C
FROM table GROUP BY id
1.2.2:
+----+----------+--------+-----------+
| id | c1 | c2 | A |
+----+----------+--------+-----------+
| 1 | 1199.940 | 0.000 | 1199.940 |
| 2 | 979.860 | 69.990 | 909.870 |
+----+----------+--------+-----------+
1.2.4 с дополнительными суммами
+----+----------+--------+-----------------------+---------+-----------+
| id | c1 | c2 | A | B | C |
+----+----------+--------+-----------------------+---------+-----------+
| 1 | 1199.940 | 0.000 | -9223372036853575.868 | 0 | 1199.940 |
| 2 | 979.860 | 69.990 | 909.870 | 909.87 | 909.870 |
+----+----------+--------+-----------------------+---------+-----------+