[Bug](decimal) fix mod function (#19925)
Bug: select id, kdcml * ktint, kdcml / ktint, kdcml % ktint from expr_test order by id; +------+-------------------+-------------------+-----------------------+ | id | kdcml * ktint | kdcml / ktint | kdcml % ktint | +------+-------------------+-------------------+-----------------------+ | NULL | NULL | NULL | NULL | | 1 | 24.395 | 24.395 | -4702111234474983.74 | | 2 | 68.968 | 17.242 | -4702111234474983.74 | | 3 | 146.268 | 16.252 | -4702111234474983.74 | | 4 | 275.772 | 17.235 | -4702111234474983.74 | | 5 | 487.470 | 19.498 | -4702111234474983.74 | | 6 | 827.244 | 22.979 | -4702111234474983.74 | | 7 | 1364.860 | 27.854 | -4702111234474983.74 | | 8 | 2205.928 | 34.467 | -4702111234474983.74 | | 9 | 3509.595 | 43.328 | -4702111234474983.74 | | 10 | 5514.790 | 55.147 | -4702111234474983.74 | | 11 | 8578.988 | 70.900 | -4702111234474983.74 | | 12 | 13235.484 | 91.913 | -4702111234474983.74 | | 13 | 24.395 | 24.395 | -4702111234474983.74 | | 14 | 68.968 | 17.242 | -4702111234474983.74 | | 15 | 146.268 | 16.252 | -4702111234474983.74 | | 16 | 275.772 | 17.235 | -4702111234474983.74 | | 17 | 487.470 | 19.498 | -4702111234474983.74 | | 18 | 827.244 | 22.979 | -4702111234474983.74 | | 19 | 1364.860 | 27.854 | -4702111234474983.74 | | 20 | 2205.928 | 34.467 | -4702111234474983.74 | | 21 | 3509.595 | 43.328 | -4702111234474983.74 | | 22 | 5514.790 | 55.147 | -4702111234474983.74 | | 23 | 8578.988 | 70.900 | -4702111234474983.74 | | 24 | 13235.484 | 91.913 | -4702111234474983.74 |
This commit is contained in:
@ -262,6 +262,10 @@ struct DecimalBinaryOperation {
|
||||
for (size_t i = 0; i < size; ++i) {
|
||||
null_map[i] = apply_op_safely(a[i], b[i], c[i].value);
|
||||
}
|
||||
} else {
|
||||
for (size_t i = 0; i < size; ++i) {
|
||||
c[i] = apply(a[i], b[i], null_map[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user