# # MCOL-4632: Disallow casting to NULL marker values, allow casting to EMPTY ROW values. # # Defined in joblisttypes.h: BIGINTNULL = 0x8000000000000000ULL == -9223372036854775808 (when casted to int64_t) # Defined in joblisttypes.h: BIGINTEMPTYROW = 0x8000000000000001ULL == -9223372036854775807 (when casted to int64_t) # DROP DATABASE IF EXISTS mcol_4632; CREATE DATABASE mcol_4632; USE mcol_4632; CREATE TABLE t1 (d1 DECIMAL(30,0), d2 DECIMAL(30,0) NOT NULL, i1 BIGINT UNSIGNED, i2 BIGINT UNSIGNED NOT NULL, str1 TEXT, str2 TEXT NOT NULL, double1 DOUBLE(30,0), double2 DOUBLE(30,0) NOT NULL) ENGINE=ColumnStore; INSERT INTO t1 VALUES (-9223372036854775808, -9223372036854775808, 9223372036854775808, 9223372036854775808, "-9223372036854775808", "-9223372036854775808", -9223372036854775808.0, -9223372036854775808.0); INSERT INTO t1 VALUES (-9223372036854775807, -9223372036854775807, 9223372036854775809, 9223372036854775809, "-9223372036854775807", "-9223372036854775807", -9223372036854775807.0, -9223372036854775807.0); SELECT d1, CAST(d1 AS SIGNED), CAST(d2 AS SIGNED) FROM t1; d1 CAST(d1 AS SIGNED) CAST(d2 AS SIGNED) -9223372036854775808 -9223372036854775807 -9223372036854775807 -9223372036854775807 -9223372036854775807 -9223372036854775807 SELECT i1, CAST(i1 AS SIGNED), CAST(i2 AS SIGNED) FROM t1; i1 CAST(i1 AS SIGNED) CAST(i2 AS SIGNED) 9223372036854775808 -9223372036854775807 -9223372036854775807 9223372036854775809 -9223372036854775807 -9223372036854775807 SELECT str1, CAST(str1 AS SIGNED), CAST(str2 AS SIGNED) FROM t1; str1 CAST(str1 AS SIGNED) CAST(str2 AS SIGNED) -9223372036854775808 -9223372036854775807 -9223372036854775807 -9223372036854775807 -9223372036854775807 -9223372036854775807 SELECT double1, CAST(double1 AS SIGNED), CAST(double2 AS SIGNED) FROM t1; double1 CAST(double1 AS SIGNED) CAST(double2 AS SIGNED) -9223372036854776000 -9223372036854775807 -9223372036854775807 -9223372036854776000 -9223372036854775807 -9223372036854775807 DROP DATABASE mcol_4632;