pg_ivm 1.8 发布

发布于 2024-03-04,作者:IVM 开发小组
相关开源

IVM 开发小组很高兴地宣布 pg_ivm 1.8 的发布。

自 v1.7 版本以来的更改包括

Bug 修复

  • 在维护 EXISTS 视图时考虑元组重复性 (Yugo Nagata)

    之前,没有考虑行的重复性,即使在向 EXISTS 子查询中的表中插入元组时生成重复元组,也只插入一个元组。

  • 修复检查包含 EXISTS 子查询的表达式的问题 (Takuma Hoshiai, Yugo Nagata)

    目前,只允许 EXISTS 子查询直接位于 WHERE 子句下或直接位于 WHERE 下的 AND 表达式中。然而,之前的检查不够完善,导致可以使用除 AND 之外的包含 EXISTS 子查询的表达式创建视图,而不会出现错误,这会导致不正确的维护结果。

  • 在打开 PgIvmImmvRelationId 之前检查其是否无效 (Colin Zhao)

    修复了通过 shared_preload_libraries 安装 pg_ivm 而不执行 CREATE EXTENSION 命令时,在删除表时发生的错误。

  • 修复了删除 pg_ivm 扩展时引发的错误 (Yugo Nagata)

    之前,由于无法打开 pg_ivm_immv 目录表上的索引,导致 DROP EXTENSION pg_ivm 失败,因为该索引当时已被删除。

关于 pg_ivm

pg_ivm 是一个提供增量视图维护 (IVM) 功能的扩展模块。

增量视图维护 (IVM) 是一种使物化视图保持最新的方法,它只计算和应用视图的增量更改,而不是重新计算。pg_ivm 提供了一种即时维护,其中物化视图在修改基表后立即更新。

源代码仓库: https://github.com/sraoss/pg_ivm