IVM Development Group is pleased to announce the release of [pg_ivm 1.4](
https://github.com/sraoss/pg_ivm/releases/tag/v1.4 ).
Changes since the v1.3 release include:
### Bug fixes
* Prohibit to create IMMVs including other IMMV (Takuma Hoshiai)
IMMVs that contain other IMMV or materialized view cannot be maintained for
now when a table underlying inner IMMV or materialized view is modified.
* Fix segmentation fault when non-SELECT query is specified in create_immv
(Takuma Hoshiai)
* Fix a bug that a unique index could be created improperly (Yugo Nagata)
It is intended that a unique index is created only if all primary keys of
tables in FROM clause appear in the target list. But, due to this bug, an index
could be created even when there were pkey attributes from just one of
relations in FROM clause.
* Fix bugs that occur when column names are specified in an aggregate view
(Yugo Nagata)
When the number of specified column names and the length of the target
list of the view definition query didn't match, segmentation fault occurred or
incremental maintenance of the view failed.
* Use exclusive lock for view maintenance caused by UPDATE or DELETE (Yugo
Nagata)
When a table was modified by DELETE or UPDATE in concurrent transactions,
incremental view maintenance could end in wrong results, which is avoided by
using the lock for now. Note that affected IMMVs are those that contain only
one table and do not use aggregate or DISTINCT, because IMMVs with more than
one table, or using aggregate or DISTINCT, are already maintained in exclusive
manner.
**Full Changelog**: https://github.com/sraoss/pg_ivm/compare/1.3...v1.4
### About pg_ivm
pg_ivm is an extension module that provides Incremental View Maintenance (IVM)
feature.
Incremental View Maintenance (IVM) is a way to make materialized views
up-to-date in
which only incremental changes are computed and applied on views rather than
recomputing.
pg_ivm provides a kind of immediate maintenance, in which materialized views
are updated
immediately after a base table is modified.
Source repository:
[https://github.com/sraoss/pg_ivm](https://github.com/sraoss/pg_ivm)