用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

283 lines
7.2 KiB

DROP TABLE IF EXISTS t1;
SET sql_mode = 'NO_ENGINE_SUBSTITUTION';
CREATE TABLE t1 (sint8 tinyint not null);
INSERT INTO t1 VALUES ('0.1');
INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('127.4');
INSERT INTO t1 VALUES ('127.5');
Warnings:
Warning 1264 Out of range value for column 'sint8' at row 1
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
INSERT INTO t1 VALUES ('-127.4');
INSERT INTO t1 VALUES ('-127.5');
INSERT INTO t1 VALUES ('-128.4');
INSERT INTO t1 VALUES ('-128.5');
Warnings:
Warning 1264 Out of range value for column 'sint8' at row 1
SELECT * FROM t1;
sint8
0
1
127
127
0
-1
-127
-128
-128
-128
DROP TABLE t1;
CREATE TABLE t1 (uint8 tinyint unsigned not null);
INSERT INTO t1 VALUES ('0.1');
INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('127.4');
INSERT INTO t1 VALUES ('127.5');
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
Warnings:
Warning 1264 Out of range value for column 'uint8' at row 1
INSERT INTO t1 VALUES ('255.4');
INSERT INTO t1 VALUES ('255.5');
Warnings:
Warning 1264 Out of range value for column 'uint8' at row 1
SELECT * FROM t1;
uint8
0
1
127
128
0
0
255
255
DROP TABLE t1;
CREATE TABLE t1 (sint16 smallint not null);
INSERT INTO t1 VALUES ('0.1');
INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('32767.4');
INSERT INTO t1 VALUES ('32767.5');
Warnings:
Warning 1264 Out of range value for column 'sint16' at row 1
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
INSERT INTO t1 VALUES ('-32767.4');
INSERT INTO t1 VALUES ('-32767.5');
INSERT INTO t1 VALUES ('-32768.4');
INSERT INTO t1 VALUES ('-32768.5');
Warnings:
Warning 1264 Out of range value for column 'sint16' at row 1
SELECT * FROM t1;
sint16
0
1
32767
32767
0
-1
-32767
-32768
-32768
-32768
DROP TABLE t1;
CREATE TABLE t1 (uint16 smallint unsigned not null);
INSERT INTO t1 VALUES ('0.1');
INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('32767.4');
INSERT INTO t1 VALUES ('32767.5');
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
Warnings:
Warning 1264 Out of range value for column 'uint16' at row 1
INSERT INTO t1 VALUES ('65535.4');
INSERT INTO t1 VALUES ('65535.5');
Warnings:
Warning 1264 Out of range value for column 'uint16' at row 1
SELECT * FROM t1;
uint16
0
1
32767
32768
0
0
65535
65535
DROP TABLE t1;
CREATE TABLE t1 (sint24 mediumint not null);
INSERT INTO t1 VALUES ('0.1');
INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('8388607.4');
INSERT INTO t1 VALUES ('8388607.5');
Warnings:
Warning 1264 Out of range value for column 'sint24' at row 1
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
INSERT INTO t1 VALUES ('-8388607.4');
INSERT INTO t1 VALUES ('-8388607.5');
INSERT INTO t1 VALUES ('-8388608.4');
INSERT INTO t1 VALUES ('-8388608.5');
Warnings:
Warning 1264 Out of range value for column 'sint24' at row 1
SELECT * FROM t1;
sint24
0
1
8388607
8388607
0
-1
-8388607
-8388608
-8388608
-8388608
DROP TABLE t1;
CREATE TABLE t1 (uint24 mediumint unsigned not null);
INSERT INTO t1 VALUES ('0.1');
INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('8388607.4');
INSERT INTO t1 VALUES ('8388607.5');
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
Warnings:
Warning 1264 Out of range value for column 'uint24' at row 1
INSERT INTO t1 VALUES ('16777215.4');
INSERT INTO t1 VALUES ('16777215.5');
Warnings:
Warning 1264 Out of range value for column 'uint24' at row 1
SELECT * FROM t1;
uint24
0
1
8388607
8388608
0
0
16777215
16777215
DROP TABLE t1;
CREATE TABLE t1 (sint64 bigint not null);
INSERT INTO t1 VALUES ('0.1');
INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('9223372036854775807.4');
INSERT INTO t1 VALUES ('9223372036854775807.5');
Warnings:
Warning 1264 Out of range value for column 'sint64' at row 1
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
INSERT INTO t1 VALUES ('-9223372036854775807.4');
INSERT INTO t1 VALUES ('-9223372036854775807.5');
INSERT INTO t1 VALUES ('-9223372036854775808.4');
INSERT INTO t1 VALUES ('-9223372036854775808.5');
Warnings:
Warning 1264 Out of range value for column 'sint64' at row 1
SELECT * FROM t1;
sint64
0
1
9223372036854775807
9223372036854775807
0
-1
-9223372036854775807
-9223372036854775808
-9223372036854775808
-9223372036854775808
DROP TABLE t1;
CREATE TABLE t1 (uint64 bigint unsigned not null);
INSERT INTO t1 VALUES ('0.1');
INSERT INTO t1 VALUES ('0.5');
INSERT INTO t1 VALUES ('9223372036854775807.4');
INSERT INTO t1 VALUES ('9223372036854775807.5');
INSERT INTO t1 VALUES ('-0.1');
INSERT INTO t1 VALUES ('-0.5');
Warnings:
Warning 1264 Out of range value for column 'uint64' at row 1
INSERT INTO t1 VALUES ('18446744073709551615.4');
INSERT INTO t1 VALUES ('18446744073709551615.5');
Warnings:
Warning 1264 Out of range value for column 'uint64' at row 1
INSERT INTO t1 VALUES ('1844674407370955161.0');
INSERT INTO t1 VALUES ('1844674407370955161.1');
INSERT INTO t1 VALUES ('1844674407370955161.2');
INSERT INTO t1 VALUES ('1844674407370955161.3');
INSERT INTO t1 VALUES ('1844674407370955161.4');
INSERT INTO t1 VALUES ('1844674407370955161.5');
INSERT INTO t1 VALUES ('1844674407370955161.0e1');
INSERT INTO t1 VALUES ('1844674407370955161.1e1');
INSERT INTO t1 VALUES ('1844674407370955161.2e1');
INSERT INTO t1 VALUES ('1844674407370955161.3e1');
INSERT INTO t1 VALUES ('1844674407370955161.4e1');
INSERT INTO t1 VALUES ('1844674407370955161.5e1');
INSERT INTO t1 VALUES ('18446744073709551610e-1');
INSERT INTO t1 VALUES ('18446744073709551611e-1');
INSERT INTO t1 VALUES ('18446744073709551612e-1');
INSERT INTO t1 VALUES ('18446744073709551613e-1');
INSERT INTO t1 VALUES ('18446744073709551614e-1');
INSERT INTO t1 VALUES ('18446744073709551615e-1');
SELECT * FROM t1;
uint64
0
1
9223372036854775807
9223372036854775808
0
0
18446744073709551615
18446744073709551615
1844674407370955161
1844674407370955161
1844674407370955161
1844674407370955161
1844674407370955161
1844674407370955162
18446744073709551610
18446744073709551611
18446744073709551612
18446744073709551613
18446744073709551614
18446744073709551615
1844674407370955161
1844674407370955161
1844674407370955161
1844674407370955161
1844674407370955161
1844674407370955162
DROP TABLE t1;
CREATE TABLE t1 (str varchar(128), sint64 bigint not null default 0);
INSERT INTO t1 (str) VALUES ('1.5');
INSERT INTO t1 (str) VALUES ('1.00005e4');
INSERT INTO t1 (str) VALUES ('1.0005e3');
INSERT INTO t1 (str) VALUES ('1.005e2');
INSERT INTO t1 (str) VALUES ('1.05e1');
INSERT INTO t1 (str) VALUES ('1.5e0');
INSERT INTO t1 (str) VALUES ('100005e-1');
INSERT INTO t1 (str) VALUES ('100050e-2');
INSERT INTO t1 (str) VALUES ('100500e-3');
INSERT INTO t1 (str) VALUES ('105000e-4');
INSERT INTO t1 (str) VALUES ('150000e-5');
UPDATE t1 SET sint64=str;
SELECT * FROM t1;
str sint64
1.5 2
1.00005e4 10001
1.0005e3 1001
1.005e2 101
1.05e1 11
1.5e0 2
100005e-1 10001
100050e-2 1001
100500e-3 101
105000e-4 11
150000e-5 2
DROP TABLE t1;
#
# Bug #27004880: UBSAN: ITEM_FUNC_ROUND::INT_OP - NEGATION OF XYZ CANNOT BE REPRESENTED IN TYPE
#
SELECT ROUND(4054410556, -90121447944986105767675502273012972);
ROUND(4054410556, -90121447944986105767675502273012972)
0
Warnings:
Warning 1292 Truncated incorrect DECIMAL value: '-90121447944986105767675502273012972'
Warning 1292 Truncated incorrect DECIMAL value: '-90121447944986105767675502273012972'
SET sql_mode = default;