1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

Fix(MCOL-4611): mod loses precision on huge narrow decimal (#3473)

This commit is contained in:
Akhmad Oripov
2025-03-31 15:59:40 +02:00
committed by GitHub
parent 848f5bf162
commit 1bcf63a436
4 changed files with 47 additions and 2 deletions

View File

@ -0,0 +1,17 @@
DROP DATABASE IF EXISTS mcol_4611;
CREATE DATABASE mcol_4611;
USE mcol_4611;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a DECIMAL(18,0)) ENGINE=ColumnStore;
INSERT INTO t1 VALUES (999999999999999999);
SELECT a MOD 10000 FROM t1;
a MOD 10000
9999
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a DECIMAL(18,0)) ENGINE=ColumnStore;
INSERT INTO t1 VALUES (999999999999999999);
SELECT RAND(9999), RAND(a MOD 10000) FROM t1;
RAND(9999) RAND(a MOD 10000)
0.7361292641015065 0.7361292641015065
DROP TABLE IF EXISTS t1;
DROP DATABASE mcol_4611;

View File

@ -0,0 +1,28 @@
-- source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcol_4611;
--enable_warnings
CREATE DATABASE mcol_4611;
USE mcol_4611;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a DECIMAL(18,0)) ENGINE=ColumnStore;
INSERT INTO t1 VALUES (999999999999999999);
SELECT a MOD 10000 FROM t1;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (a DECIMAL(18,0)) ENGINE=ColumnStore;
INSERT INTO t1 VALUES (999999999999999999);
SELECT RAND(9999), RAND(a MOD 10000) FROM t1;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
--disable_warnings
DROP DATABASE mcol_4611;
--enable_warnings