1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-08 14:22:09 +03:00
Files
Leonid Fedorov 5814a80b50 MCOL-4671: MCOL-4622: fix the behavior of both PRs
first was playing different with RIGHT and LEFT functions(using the getUintVal and getIntVal accordingly)
https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/3234
second introduced round for ints from double, but added it to uint but not to int missing long doubles as well
https://github.com/mariadb-corporation/mariadb-columnstore-engine/pull/3480
2025-05-23 05:12:17 +04:00

33 lines
1.3 KiB
Plaintext

-- source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcol_4622;
--enable_warnings
CREATE DATABASE mcol_4622;
USE mcol_4622;
--disable_warnings
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a VARCHAR(32), b FLOAT, c DOUBLE) ENGINE=ColumnStore;
INSERT INTO t1 VALUES ('aaaa', 1.5, 1.5);
INSERT INTO t1 VALUES ('abcdefgh', 1.2, 1.2);
INSERT INTO t1 VALUES ('abcdefgh', 1.5, 1.5);
INSERT INTO t1 VALUES ('abcdefgh', 1.7, 1.7);
INSERT INTO t1 VALUES ('abcdefgh', 12, 12);
INSERT INTO t1 VALUES ('abcdefgh', -0, 0);
INSERT INTO t1 VALUES ('abcdefgh', -2, -2);
INSERT INTO t1 VALUES ('abcdefgh', -12, -12);
SELECT LEFT(a, b), LEFT(a, c), RIGHT(a, b), RIGHT(a, c) FROM t1;
create table TFloatsInnoDB(a float, b double) engine innodb;
insert into TFloatsInnoDB values (-3.5,-3.5),(-3.1, -3.1),(-3.0, -3.0),(-2.9,-2.9),(0,0),(2.9, 2.9),(3.1,3.1),(3.5,3.5);
select a, cast(a as signed), cast(a as unsigned), b, cast(b as signed), cast(b as unsigned) from TFloatsInnoDB;
create table TFloatsCS(a float, b double) engine columnstore;
insert into TFloatsCS values (-3.5,-3.5),(-3.1, -3.1),(-3.0, -3.0),(-2.9,-2.9),(0,0),(2.9, 2.9),(3.1,3.1),(3.5,3.5);
select a, cast(a as signed), cast(a as unsigned), b, cast(b as signed), cast(b as unsigned) from TFloatsCS;
DROP DATABASE mcol_4622;
--enable_warnings