# # Test SELECT precision # Author: Bharath, bharath.bokka@mariadb.com # -- source ../include/have_columnstore.inc --disable_warnings DROP DATABASE IF EXISTS mcs42_db; --enable_warnings CREATE DATABASE mcs42_db; USE mcs42_db; SELECT @@sql_mode; CREATE TABLE t (col TINYINT)ENGINE=Columnstore; --error ER_WARN_DATA_OUT_OF_RANGE INSERT INTO t SET col = 128; SELECT col FROM t; --error ER_DIVISION_BY_ZERO INSERT INTO t SET col = 1 / 0; SELECT col FROM t; SET sql_mode=''; INSERT INTO t SET col = 128; SELECT col FROM t; INSERT INTO t SET col = 1 / 0; SELECT col FROM t; CREATE TABLE t1 (col FLOAT)ENGINE=Columnstore; INSERT INTO t1 VALUES (NULL),(2.13),(-2.13),(21.5e0),(-21.5e0),(35.498),(986.512),(-376012.9751); SELECT col, ROUND(col), ROUND(col,1), ROUND(col,-1), ROUND(col,-2), ROUND(col,3) FROM t1; SELECT (.1 + .2) = .3; SELECT (.1e0 + .2e0) = .3e0; SELECT .01 * .01; SELECT .1 / .1; SET sql_mode=default; # Clean UP DROP DATABASE mcs42_db;