建异步物化视图后,查询原表,结果不正确

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】基表:hospital,建了一个异步物化视图 后,查询基表数据,结果错误,删除异步物化视图,查询结果恢复正常
【背景】
【业务影响】
【是否存算分离】
【StarRocks版本】3.2.3
【集群规模】
【机器信息】
【联系方式】
异步物化视图语句:
CREATE MATERIALIZED VIEW ods.ods_cs_hospital
COMMENT “医院信息表”
REFRESH IMMEDIATE ASYNC
AS
SELECT *
FROM ultrasound.hospital
where is_delete = 0
;

然后查询基表ultrasound.hospital 的数据,sql为:SELECT * from ultrasound.hospital where id = ‘2’;
,查询结果正常应该是只有一条数据,但是这个查询结果是视图ods.ods_cs_hospital 里的全部数据。

重新建物化视图,把物化视图里的where条件去掉,查询结果恢复正常。

感觉是查询改写的问题。

收到了,我们正在排查,请稍等

已知问题,最新的3.2版本应该修复了,修复pr:

[BugFix] Fix union all rewrite bugs in pulling up predicates and add materialized_view_union_rewrite

短期可以 set enable_materialized_view_union_rewrite=false解决

好的,我试试,谢谢

今天遇到一个问题:
版本:3.2.6
原表:
CREATE TABLE dim_error_code (
error_code varchar(11) NOT NULL COMMENT “错误状态编码”,
error_level varchar(3) NOT NULL COMMENT “错误等级(0为正常,其他为异常)”,
error_reason varchar(256) NOT NULL COMMENT “错误原因”,
error_file_name varchar(96) NOT NULL COMMENT “错误数据保存文件名”,
is_valid varchar(1) NOT NULL COMMENT “是否有效:1-有效0-无效”,
create_time datetime NOT NULL COMMENT “创建时间”,
end_time datetime NULL COMMENT “失效时间”
) ENGINE=OLAP
PRIMARY KEY(error_code)
COMMENT “超声数据上传错误编码表”
DISTRIBUTED BY HASH(error_code) BUCKETS 1
PROPERTIES (
“replication_num” = “1”,
“in_memory” = “false”,
“enable_persistent_index” = “true”,
“replicated_storage” = “true”,
“compression” = “LZ4”
);

创建异步物化视图:

CREATE MATERIALIZED VIEW ultrasound.upload_error_code
COMMENT “”
REFRESH IMMEDIATE ASYNC
AS
SELECT error_code,
error_level,
error_reason,
error_file_name,
create_time
FROM dim.dim_error_code
WHERE is_valid = 1
;

以上都正常。

然后清空原表数据:
truncate table dim.dim_error_code ;

查看物化视图ultrasound.upload_error_code的数据,没有清空。
请问这是什么原因?
谢谢

truncate 原表,物化视图的数据不会删除。delete原表数据,物化视图会删除。
这种情况是属于设计这样的,还是属于bug?