Starrocks v3.1.3 Insert into 严格模式会对数字做强制类型转换导致损失精度

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】问题详细描述
【背景】做过哪些操作?
【业务影响】
【StarRocks版本】3.1.3
【集群规模】例如:3fe(1 follower+2observer)+9be
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【表模型】例如:主键模型
【导入或者导出方式】Broker Load

Broker Load CSV 文件 数据为数字1.0进到bigint 字段为null
Insert 可以正常写进去;

CREATE TABLE ys_test_001 ( id varchar(100) NULL COMMENT “”, tag bigint(20) NULL DEFAULT “10045” COMMENT “” ) ENGINE=OLAP DUPLICATE KEY(id) COMMENT “created by CDP system” DISTRIBUTED BY HASH(id) BUCKETS 8 PROPERTIES ( “replication_num” = “3”, “colocate_with” = “superid_group”, “in_memory” = “false”, “enable_persistent_index” = “false”, “replicated_storage” = “true”, “compression” = “LZ4” );

LOAD LABEL temp_test_002 (DATA INFILE(’*****/test.csv’) INTO TABLE ys_test_001 COLUMNS TERMINATED BY ‘,’ FORMAT AS ‘csv’ (id,tag) SET(id=if(id=’’,null,id),tag=if(tag=’’,null,tag))) WITH BROKER (‘username’ = ‘’,‘password’ = ‘’) PROPERTIES (‘timeout’ = ‘7200’,‘load_mem_limit’=‘6000000000’)

insert into ys_test_001 values(‘ys002’,1.0)

image

Broker Load 的逻辑和insert的不一样哎

test.csv (17 字节)

Broker Load 是正确的,因为没有开启严格模式,符合预期


但是insert into 做了强制类型转换 会损失精度