summaryrefslogtreecommitdiffstats
path: root/storage/rocksdb/mysql-test/rocksdb/t/type_float.inc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/rocksdb/mysql-test/rocksdb/t/type_float.inc')
-rw-r--r--storage/rocksdb/mysql-test/rocksdb/t/type_float.inc121
1 files changed, 121 insertions, 0 deletions
diff --git a/storage/rocksdb/mysql-test/rocksdb/t/type_float.inc b/storage/rocksdb/mysql-test/rocksdb/t/type_float.inc
new file mode 100644
index 00000000..ff58b73a
--- /dev/null
+++ b/storage/rocksdb/mysql-test/rocksdb/t/type_float.inc
@@ -0,0 +1,121 @@
+#
+# Float types
+#
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+eval CREATE TABLE t1 (
+ f FLOAT $extra_col_opts,
+ f0 FLOAT(0) $extra_col_opts,
+ r1_1 REAL(1,1) $extra_col_opts,
+ f23_0 FLOAT(23) $extra_col_opts,
+ f20_3 FLOAT(20,3) $extra_col_opts,
+ d DOUBLE $extra_col_opts,
+ d1_0 DOUBLE(1,0) $extra_col_opts,
+ d10_10 DOUBLE PRECISION (10,10) $extra_col_opts,
+ d53 DOUBLE(53,0) $extra_col_opts,
+ d53_10 DOUBLE(53,10) $extra_col_opts,
+ pk DOUBLE $extra_col_opts PRIMARY KEY
+) ENGINE=rocksdb;
+
+SHOW COLUMNS IN t1;
+
+# Always valid values
+
+INSERT INTO t1 (f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10,pk) VALUES (12345.12345,12345.12345,0.9,123456789.123,56789.987,11111111.111,8.0,0.0123456789,1234566789123456789,99999999999999999.99999999,1);
+
+--sorted_result
+--query_vertical SELECT f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10 FROM t1
+
+INSERT INTO t1 (f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10,pk) VALUES (0,0,0,0,0,0,0,0,0,0,2);
+INSERT INTO t1 (f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10,pk) VALUES (
+ 99999999999999999999999999999999999999,
+ 99999999999999999999999999999999999999.9999999999999999,
+ 0.9,
+ 99999999999999999999999999999999999999.9,
+ 99999999999999999.999,
+ 999999999999999999999999999999999999999999999999999999999999999999999999999999999,
+ 9,
+ 0.9999999999,
+ 1999999999999999999999999999999999999999999999999999999,
+ 19999999999999999999999999999999999999999999.9999999999,
+ 3
+);
+
+--sorted_result
+--query_vertical SELECT f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10 FROM t1
+
+# Values which can be valid or not,
+# depending on whether columns are SIGNED or UNSIGNED
+# (if not valid should produce warnings)
+
+INSERT INTO t1 (f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10,pk) VALUES (-999999999999999999999999,-99999999999.999999999999,-0.9,-999.99999999999999999999,-99999999999999999.999,-999999999999999999999999999999999999999999999999999999999999-0.999,-9,-.9999999999,-999999999999999999999999999999.99999999999999999999999,-9999999999999999999999999999999999999999999.9999999999,4);
+
+--sorted_result
+--query_vertical SELECT f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10 FROM t1
+
+--sorted_result
+query_vertical
+SELECT
+ CONCAT('', MAX(f)),
+ CONCAT('', MAX(f0)),
+ CONCAT('', MAX(r1_1)),
+ CONCAT('', MAX(f23_0)),
+ CONCAT('', MAX(f20_3)),
+ CONCAT('', MAX(d)),
+ CONCAT('', MAX(d1_0)),
+ CONCAT('', MAX(d10_10)),
+ CONCAT('', MAX(d53)),
+ CONCAT('', MAX(d53_10)) FROM t1;
+
+# Invalid values
+
+INSERT INTO t1 (f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10,pk) VALUES (
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 9999999999999999999999999999999999999999999999999999999999999.9999,
+ 5
+);
+
+--sorted_result
+--query_vertical SELECT f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10 FROM t1
+
+INSERT INTO t1 (f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10,pk) VALUES (
+ 999999999999999999999999999999999999999,
+ 999999999999999999999999999999999999999.9999999999999999,
+ 1.9,
+ 999999999999999999999999999999999999999.9,
+ 999999999999999999.999,
+ 9999999999999999999999999999999999999999999999999999999999999999999999999999999999,
+ 99,
+ 1.9999999999,
+ 1999999999999999999999999999999999999999999999999999999,
+ 19999999999999999999999999999999999999999999.9999999999,
+ 6
+);
+
+--sorted_result
+--query_vertical SELECT f,f0,r1_1,f23_0,f20_3,d,d1_0,d10_10,d53,d53_10 FROM t1
+
+# Error occurs on MySQL but not on MariaDB:
+# --error ER_TOO_BIG_DISPLAYWIDTH
+eval ALTER TABLE t1 ADD COLUMN d0_0 DOUBLE(0,0) $extra_col_opts;
+
+--error ER_TOO_BIG_PRECISION
+eval ALTER TABLE t1 ADD COLUMN n66_6 DECIMAL(256,1) $extra_col_opts;
+
+# Error occurs on MySQL but not on MariaDB:
+# --error ER_TOO_BIG_SCALE
+eval ALTER TABLE t1 ADD COLUMN n66_66 DECIMAL(40,35) $extra_col_opts;
+
+DROP TABLE t1;
+